Python –タプルリストのクロスペアリング
タプルのリストでクロスペアリングを実行する必要がある場合は、「zip」メソッド、リスト内包表記、および「==」演算子が使用されます。
例
以下は同じのデモンストレーションです-
my_list_1 = [('Hi', 'Will'), ('Jack', 'Python'), ('Bill', 'Mills'), ('goodwill', 'Jill')] my_list_2 = [('Hi', 'Band'), ('Jack', 'width'), ('Bill', 'cool'), ('a', 'b')] print("The first list is : " ) print(my_list_1) print("The second list is :") print(my_list_2) my_list_1.sort() my_list_2.sort() print("The first list after sorting is ") print(my_list_1) print("The second list after sorting is ") print(my_list_2) my_result = [(a[1], b[1]) for a, b in zip(my_list_1, my_list_2) if a[0] == b[0]] print("The resultant list is : ") print(my_result)
出力
The first list is : [('Hi', 'Will'), ('Jack', 'Python'), ('Bill', 'Mills'), ('goodwill', 'Jill')] The second list is : [('Hi', 'Band'), ('Jack', 'width'), ('Bill', 'cool'), ('a', 'b')] The first list after sorting is [('Bill', 'Mills'), ('Hi', 'Will'), ('Jack', 'Python'), ('goodwill', 'Jill')] The second list after sorting is [('Bill', 'cool'), ('Hi', 'Band'), ('Jack', 'width'), ('a', 'b')] The resultant list is : [('Mills', 'cool'), ('Will', 'Band'), ('Python', 'width')]
説明
-
タプルの2つのリストが定義され、コンソールに表示されます。
-
これらのリストは両方とも昇順で並べ替えられ、コンソールに表示されます。
-
タプルの2つのリストが圧縮され、繰り返されます。
-
これはリスト内包表記を使用して行われます。
-
ここでは、両方のリストのそれぞれの要素が比較されます。
-
それらが等しい場合、それらはリストに格納され、変数に割り当てられます。
-
これは、コンソールに出力として表示されます。
-
Pythonでのタプルの解凍とは何ですか?
タプルの解凍を定義する前に、タプルとは何かを理解する必要があります。 タプル :Pythonでは、タプルは不変オブジェクトを格納するために使用されます。タプルは、不変のPythonオブジェクトのシーケンスです。タプルはシーケンスであり、タプルは変更できず、タプルは括弧を使用します。値の(RHS)右側を(LHS)左側に割り当てます。別の言い方をすれば、値のタプルを変数にアンパックすることと呼ばれます。タプルのアンパックでは、LHSの変数の数は、指定されたタプルの値の数と等しくなければなりません。パッキングでは、値を新しいタプルに入れ、アンパックでは、それらの値を単一の変数に抽出します。 例1
-
Pythonのリストvsタプルvs辞書
リストオブジェクトとタプルオブジェクトはシーケンスです。ディクショナリは、キーと値のペアのハッシュテーブルです。リストとタプルは、アイテムの順序付けられたコレクションです。辞書は順序付けられていないコレクションです。 リストオブジェクトと辞書オブジェクトは変更可能です。つまり、新しいアイテムを追加したり、アイテムを削除したりすることができます。タプルは不変のオブジェクトです。タプルオブジェクトでは、追加または削除操作はできません。 それぞれがカンマ区切りのアイテムのコレクションです。リストアイテムは角かっこ[]で囲まれ、タプルアイテムは丸かっこまたはかっこ()で囲まれ、辞書アイテムは中かっこ