Pythonのお勉強 Part17
■ このスレッドは過去ログ倉庫に格納されています
0345デフォルトの名無しさん
2007/03/04(日) 02:48:33reduceを使ったらもうちょっとかわいく書けた。
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]
■ このスレッドは過去ログ倉庫に格納されています