Python の itertools.chain を使って多次元リストを一次元にする
2023.02.18
Python で二次元リスト(リストのリスト)を一次元にするには itertools
の chain
を使います。
from itertools import chain
numbers = [[2, 3], [5, 7]]
flat = chain.from_iterable(numbers)
array = list(flat)
print(flat) # <itertools.chain object at 0x102873fa0>
print(array) # [2, 3, 5, 7]
from_iterable
が返す chain
オブジェクトをそのままループにかけると
from itertools import chain
numbers = [[2, 3], [5, 7]]
flat = chain.from_iterable(numbers)
for item in flat:
print(item)
# 2
# 3
# 5
# 7
となります。