Matt Porter a écrit :
Hi guys,
I'm trying to compress a string.
E.g:
"AAAABBBC" -> "ABC"
The code I have so far feels like it could be made clearer and more
succinct, but a solution is currently escaping me.
def compress_str(str):
using 'str' as an indentifier will shadow the builtin str type.
new_str = ""
for i, c in enumerate(str):
try:
if c != str[i+1]:
new_str += c
except IndexError:
new_str += c
return new_str
Now everyone gave smart solutions, may I suggest the stupidier possible one:
def compress_string(astring):
compressed = []
for c in astring:
if c not in compressed:
compressed.append(c)
return ''.join(compressed)
Not elegant, but at least very clear.
--
http://mail.python.org/mailman/listinfo/python-list