Pythonでflatten
リストを連結して一つにすることをflattenという。 例えばこんなことだ:
[[3, 1, 4], [1, 5], [9], [2, 6, 5]] --> [3, 1, 4, 1, 5, 9, 2, 6, 5]
Pythonの標準ライブラリのitertoolsには似たようなことのできるchain
という関数がある。
In [1]: from itertools import chain In [2]: list(chain([1,2,3], [4,5], [6,7,8])) Out[2]: [1, 2, 3, 4, 5, 6, 7, 8]
*でunpackすればflattenらしく使える。
In [3]: x = [[1,2,3], [4,5], [6,7,8]] In [4]: list(chain(*x)) Out[4]: [1, 2, 3, 4, 5, 6, 7, 8]