Pythonで2つのリストを結合する方法

Pythonで2つのリストを結合するには、さまざまな方法があります。最もシンプルな方法は+演算子を使う方法ですが、メモリ効率を考慮した方法も存在します。

+演算子を使ったリスト結合

最も簡単な方法は+演算子を使う方法です。この方法では、2つのリストを結合して新しいリストを作成します。

list1 = [1, 2, 3]
list2 = [4, 5, 6]
combined = list1 + list2
print(combined)  # [1, 2, 3, 4, 5, 6]

itertools.chain()を使った効率的な結合

大量のデータを扱う場合、itertools.chain()を使うと効率的です。chain()はリストを結合せず、ジェネレータを返します。

import itertools
list1 = [1, 2, 3]
list2 = [4, 5, 6]
combined = itertools.chain(list1, list2)
for item in combined:
    print(item)  # 1 2 3 4 5 6

この方法では、新しいリストを作成する必要がないため、メモリの使用量を抑えることができます。

複数のリストを結合する

複数のリストを結合する場合、sum()関数を使うこともできます。

list1 = [1, 2, 3]
list2 = [4, 5, 6]
list3 = [7, 8, 9]
combined = sum([list1, list2, list3], [])
print(combined)  # [1, 2, 3, 4, 5, 6, 7, 8, 9]

ただし、大規模なデータの場合は、メモリ効率を考えてitertools.chain()を使う方が良いでしょう。

まとめ

2つのリストを結合するには、+演算子がシンプルで便利ですが、メモリ効率を考えるならitertools.chain()の使用がおすすめです。また、複数のリストを効率よく扱う場合も、chain()が有効です。