python リストの結合

python Python

+ 演算子を使う方法

最もシンプルに+演算子を使ってリストを結合します。

list_1 = [0, 1, 2]
list_2 = [3, 4, 5]
list_3 = [6, 7, 8]
list_a = ['A', 'B', 'C']

result = list_1 + list_2
print(result)  # [0, 1, 2, 3, 4, 5]

result = list_1 + list_2 + list_3
print(result)  # [0, 1, 2, 3, 4, 5, 6, 7, 8]

result = list_1 + list_2 + list_a
print(result)  # [0, 1, 2, 3, 4, 5, 'A', 'B', 'C']

+= 演算子を使う方法

+= 演算子でリストを結合することもできます。list_1とlist_2を結合した場合、結合されたリストでlist_1が書き換えられます。つまりlist_1のオブジェクトは書き換えられてそのまま利用されます。

list_1 = [0, 1, 2]
list_2 = [3, 4, 5]

print(id(list_1))
list_1 += list_2  
print(list_1)  # [0, 1, 2, 3, 4, 5]
print(id(list_1))  # list_1のオブジェクトidは変わらない

リストのextendメソッドを使う方法

リストは自身を拡張するextendメソッドを持っています。extendでリストを結合することができます。

list_1 = [0, 1, 2]
list_2 = [3, 4, 5]
list_3 = [6, 7, 8]

list_1.extend(list_2)
print(list_1)   # [0, 1, 2, 3, 4, 5]

list_1.extend(list_3)
print(list_1)   # [0, 1, 2, 3, 4, 5, 6, 7, 8]

*演算子(アンパック演算子)を使う方法

*演算子を使用して複数のリストをアンパックした上で連結した新しいリストを生成できます。

list_1 = [0, 1, 2]
list_2 = [3, 4, 5]
list_3 = [6, 7, 8]

result = [*list_1, *list_2, *list_3]
print(result)  # [0, 1, 2, 3, 4, 5, 6, 7, 8]

コメント

タイトルとURLをコピーしました