07/03/04 02:48:33
>>281>>288
reduceを使ったらもうちょっとかわいく書けた。
def cup(n): return flatten(n) if isinstance(n, list) else [n]
def spoo(n, m): return cup(n) + cup(m)
def flatten(L): return [] if not L else cup(L[0]) if len(L) == 1 else reduce(spoo, L)
flatten([[1,2,[3],[[[[[[[]]]]]]],[4,[5,6],[7,8],[9]]]])
#=> [1,2,3,4,5,6,7,8,9]