by shigemk2

当面は技術的なことしか書かない

Python flatten

>>> import operator
>>> l = [[1,2,3],[4,5,6], [7], [8,9]]
>>> reduce(operator.concat, l)
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> l
[[1, 2, 3], [4, 5, 6], [7], [8, 9]]
>>> reduce(operator.add, l)
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reduce(lambda x, y: x+y, l)
[1, 2, 3, 4, 5, 6, 7, 8, 9]

解法としてはこうなるんだろうけど、なんでflattenされるのか謎

10.3. operator — 関数形式の標準演算子 — Python 3.6.5 ドキュメント

d.hatena.ne.jp

stackoverflow.com