map/filter/reduce/lambda opinions and background unscientific mini-survey
George Sakkis
gsakkis at rutgers.edu
Tue Jul 5 15:59:28 EDT 2005
"Devan L" wrote:
> def flatten(iterable):
> if not hasattr(iterable, '__iter__'):
> return [iterable]
> return sum([flatten(element) for element in iterable],[])
> Recursion makes things so much shorter.
The last line can faster and more compact by:
from itertools import imap
def flatten(iterable):
if not hasattr(iterable, '__iter__'):
return [iterable]
return sum(imap(flatten,iterable),[])
George
More information about the Python-list
mailing list