Pythonでのネストされた配列の展開 (Rubyでのflatten)
Rubyでのネストされた配列を展開して、1つの配列に詰め込むflattenメソッドをPythonでやる。
Rubyでの結果は以下
[1] pry(main)> a = [[1,2,],[3,4]] => [[1, 2], [3, 4]] [2] pry(main)> a => [[1, 2], [3, 4]] [3] pry(main)> a.flatten => [1, 2, 3, 4]
こんな感じに展開される。
これをPythonでやるには、itertools
を使う。
In [1]: a = [[1,2],[3,4]] In [2]: a Out[2]: [[1, 2], [3, 4]] In [3]: from itertools import chain In [4]: chain.from_iterable(a) Out[4]: <itertools.chain at 0x107ec5d30> In [5]: list(chain.from_iterable(a)) Out[5]: [1, 2, 3, 4]
こんな感じ。