Add suffix and remove_suffix functions similar to prefix and remove_prefix

This commit is contained in:
Fatih Aşıcı
2009-08-23 04:00:51 +00:00
parent cfb43d7d51
commit 60b44c4e58
+19 -5
View File
@@ -91,18 +91,32 @@ def same(l):
def prefix(a, b): def prefix(a, b):
"""Check if sequence a is a prefix of sequence b.""" """Check if sequence a is a prefix of sequence b."""
if len(a)>len(b): if len(a) > len(b):
return False return False
for i in range(0,len(a)): for i in range(0, len(a)):
if a[i]!=b[i]: if a[i] != b[i]:
return False return False
return True return True
def remove_prefix(a,b): def remove_prefix(a, b):
"""Remove prefix a from sequence b.""" """Remove prefix a from sequence b."""
assert prefix(a,b) assert prefix(a, b)
return b[len(a):] return b[len(a):]
def suffix(a, b):
"""Check if sequence a is a suffix of sequence b."""
if len(a) > len(b):
return False
for i in range(1, len(a) + 1):
if a[-i] != b[-i]:
return False
return True
def remove_suffix(a, b):
"""Remove suffix a from sequence b."""
assert suffix(a, b)
return b[:-len(a)]
def human_readable_size(size = 0): def human_readable_size(size = 0):
symbols, depth = [' B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'], 0 symbols, depth = [' B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'], 0