Pythonでlistを結合する方法

Pythonでlistを結合する方法

Pythonでリストを結合する方法にはいくつかのアプローチがあります。
主な方法としては、+ 演算子を使う方法、extend() メソッドを使う方法、itertools.chain() を使う方法などがあります。
以下にそれぞれの方法について詳しく説明します。

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

最もシンプルな方法は、+ 演算子を使ってリストを結合する方法です。
この方法では、結合したいリスト同士を + 演算子で繋げるだけで、新しいリストが作成されます。

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

このコードでは、list1 と list2 を + 演算子で結合し、新しいリスト combined_list を作成しています。
結果として [1, 2, 3, 4, 5, 6] が表示されます。

2. extend() メソッドを使ったリストの結合

extend() メソッドを使う方法では、元のリストに別のリストの要素を追加します。
この方法では、元のリストが直接変更されるため、新しいリストは作成されません。

list1 = [1, 2, 3]
list2 = [4, 5, 6]
list1.extend(list2)
print(list1)

このコードでは、list1 に list2 の要素が追加され、list1 自体が変更されます。
結果として [1, 2, 3, 4, 5, 6] が表示されます。

3. itertools.chain() を使ったリストの結合

itertools.chain() を使う方法では、複数のリストを効率的に結合できます。
この方法は、大量のリストを結合する際にメモリ効率が良いという利点があります。

import itertools

list1 = [1, 2, 3]
list2 = [4, 5, 6]
combined_list = list(itertools.chain(list1, list2))
print(combined_list)

このコードでは、itertools.chain() を使って list1 と list2 を結合し、list() でリストに変換しています。
結果として [1, 2, 3, 4, 5, 6] が表示されます。

4. リスト内包表記を使った結合

リスト内包表記を使ってリストを結合することも可能です。
この方法では、複数のリストを展開して、新しいリストを作成します。

list1 = [1, 2, 3]
list2 = [4, 5, 6]
combined_list = [item for sublist in [list1, list2] for item in sublist]
print(combined_list)

このコードでは、リスト内包表記を使用して、list1 と list2 の要素を順番に展開して新しいリストを作成しています。
結果として [1, 2, 3, 4, 5, 6] が表示されます。

5. append() メソッドを使った結合

append() メソッドを使う方法では、リストの末尾に別のリストを追加することができますが、元のリストに新しいリストが要素として追加されるため、ネストされたリストが作成されます。

list1 = [1, 2, 3]
list2 = [4, 5, 6]
list1.append(list2)
print(list1)

このコードでは、list2 全体が list1 の末尾に追加され、結果として [1, 2, 3, [4, 5, 6]] というネストされたリストが表示されます。

まとめ

リストを結合する方法は、用途や状況に応じて選択できます。

  1. 演算子や extend() メソッドは、比較的簡単で直感的に使える方法ですが、itertools.chain() は大規模なリスト結合に適しています。

また、リスト内包表記も柔軟に使える方法です。
状況に応じて適切な方法を選択することで、効率的なリスト操作が可能です。