【Python】ネストされたリストをflattenする関数

1段ネストされたlist(俗に二重リストと呼ばれるもの)をflattenする方法のメモです。

itertoolsのchain.from_iterable()*1をラップしてるだけですが、このメソッド名は忘れやすいし仰々しいので、
flattenという関数名でよく使う自作モジュールに入れています。

以下はPython 3.6で動作確認済みです。

>>> from itertools import chain
>>> nested = [['hoge', 'huga'], ['piyo', 'foo']]
>>> def flatten(nested_list):
...     return list(chain.from_iterable(nested_list))
...
>>> flatten(nested)
['hoge', 'huga', 'piyo', 'foo']

コメント