Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from collections import namedtuple
- def longest_alpha_str(source):
- def chunks(source):
- newstr = prev = ""
- for ch in source + chr(0):
- if ch >= prev:
- newstr += ch
- prev = ch
- else:
- yield newstr
- newstr = prev = ch
- Chunk = namedtuple('Chunk', 'chunk length')
- lengths = (Chunk(chunk, len(chunk)) for chunk in chunks(source))
- return max(lengths, key=lambda chunk: chunk.length).chunk
- tests = 'azcbobobegghakl', 'abcdabghikmnastuvwx','abcdefhiabcdefhiklnprst'
- for test in tests:
- print(test, '->', longest_alpha_str(test))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement