Orri Ganel wrote:
Kent Johnson wrote:
Jacob S. wrote:
Try writing the code to do what lstrip actually does
- its much harder. So the library includes the more
difficult function and lets you code the easy ones.
def lstrip(string,chars=' ')
string = list(string)
t = 0
for x in string:
if x in chars:
string.remove(t)
else:
break
t = t+1
Okay, so it's not that difficult,
Well, after fixing the obvious syntax error I tried
print lstrip('abcd', 'abcd')
and got
Traceback (most recent call last):
File "D:\Personal\Tutor\LStrip.py", line 11, in ?
print lstrip('abcd', 'abcd')
File "D:\Personal\Tutor\LStrip.py", line 6, in lstrip
string.remove(t)
ValueError: list.remove(x): x not in list
so maybe it's not that easy either. Don't forget the unit tests! :-)
Kent
_______________________________________________
Tutor maillist - Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor
Actually, its not all that difficult. Instead of removing characters
from the list, just replace them with an empty string and return
''.join(string):
>>> def lstrip(string,chars=' '):
string = list(string)
i = 0
for x in string:
if x in chars:
string[i] = ''
else:
break
i+=1
return ''.join(string)
>>> lstrip('abcd','abcd')
''
>>> 'abcd'.lstrip('abcd')
''
>>> 'go on long log buddy'.lstrip('gonl ')
'buddy'
>>> lstrip('go on long log buddy', 'gonl ')
'buddy'
>>> 'go on long log buddy'.lstrip('gonl')
' on long log buddy'
>>> lstrip('go on long log buddy', 'gonl')
' on long log buddy'
So its not a brute force thing so much as a change in how you look at
it that makes it difficult.
By the same token, to do rstrip just [::-1] - ify string when you make
it into a list and when you join it to be returned:
>>> def rstrip(string,chars=' '):
string = list(string)[::-1]
i = 0
for x in string:
if x in chars:
string[i] = ''
else:
break
i+=1
return ''.join(string)[::-1]
>>> 'abcde'.rstrip('cde')
'ab'
>>> 'abcde'.rstrip('ecd')
'ab'
>>> rstrip('abcde','cde')
'ab'
>>> rstrip('abcde','ecd')
'ab'
--
Email: singingxduck AT gmail DOT com
AIM: singingxduck
Programming Python for the fun of it.
_______________________________________________
Tutor maillist - Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor