今回は、Pythonで複数のリストを連結するための様々なテクニックを理解します。
Pythonのリストは、データを保存し、それに対して操作を実行する方法を提供してくれます。
Pythonで複数のリストを連結するテクニック
以下のいずれかのテクニックを使って、2つ以上のリストを完全に連結することができます。
- itertools モジュールを使用する
- Python の ‘+’ 演算子を使用します。
- Python ‘*’ 演算子を使用する場合。
1. Python itertools.chain() メソッドの使い方
Python の itertools モジュールは、複数のリストを連結する itertools.chain() メソッドを提供します。
itertools.chain()` メソッドは、リスト、文字列、タプルなどの異なる反復記号のデータを受け取り、それらの要素の線形列を提供します。
この関数は、入力データのデータ型に関係なく動作します。
構文は以下の様な感じです。
itertools.chain(list1, list2, ...., listN) |
例えば、以下の様になります。
import itertools
x = [ 10 , 30 , 50 , 70 ]
y = [ 12 , 16 , 17 , 18 ]
z = [ 52 , 43 , 65 , 98 ]
opt = list (itertools.chain(x,y,z))
print ( "Concatenated list: , str (opt))
|
結果は以下の通りです。
Concatenated list :
[ 10 , 30 , 50 , 70 , 12 , 16 , 17 , 18 , 52 , 43 , 65 , 98 ]
|
2. Python ‘*’ 演算子の使用
Python の `’*’ 演算子は、入力リストに対して操作を実行し、それらを連結するための非常に効率的な方法を提供します。
この演算子は、指定されたインデックス位置のデータ要素を表し、ラップを解除します。
構文は以下の通りです。
[ * input_list1, * input_list2, ...., * inout_listN]
|
前述のように、”index “にあるリスト内の要素を “index “の順番で格納します。
例えば、以下の様になります。
x = [ 10 , 30 , 50 , 70 ]
y = [ 12 , 16 , 17 , 18 ]
z = [ 52 , 43 , 65 , 98 ]
opt = [ * x, * y, * z]
print ( "Concatenated list: , str (opt))
|
出力されます。
Concatenated list :
[ 10 , 30 , 50 , 70 , 12 , 16 , 17 , 18 , 52 , 43 , 65 , 98 ]
|
3. Python “+” 演算子の使用
Python の '+' 演算子
を使うと、リストを連結することができます。
構文は以下の通りです。
list1 + list2 + .... + listN
|
例えば、以下の様になります。
x = [ 10 , 30 , 50 , 70 ]
y = [ 12 , 16 , 17 , 18 ]
z = [ 52 , 43 , 65 , 98 ]
opt = x + y + z
print ( "Concatenated list: , str (opt))
|
結果は以下の通りです。
Concatenated list :
[ 10 , 30 , 50 , 70 , 12 , 16 , 17 , 18 , 52 , 43 , 65 , 98 ]
|
まとめ
今回は、Pythonで複数のリストを連結するさまざまな方法を紹介しました。