Pythonのタプルレコードデータの交差
タプルレコード内のデータの共通部分を見つける必要がある場合は、リスト内包表記を使用できます。
リスト内包表記は、リストを反復処理してリストに対して操作を実行するための省略形です。
リストを使用して、異種の値(つまり、整数、浮動小数点、文字列などの任意のデータ型のデータ)を格納できます。
タプルのリストには、基本的にリストで囲まれたタプルが含まれています。以下は同じのデモンストレーションです-
例
my_list_1 = [('Hi',1) , ('there',11), ('Will', 56)] my_list_2 = [('Hi',1) ,('are',7) ,('you',10)] print("The first list is : ") print(my_list_1) print("The second list is : ") print(my_list_2) my_result = [elem_1 for elem_1 in my_list_1 for elem_2 in my_list_2 if elem_1 == elem_2] print("The intersection of the list of tuples is : ") print(my_result)
出力
The first list is : [('Hi', 1), ('there', 11), ('Will', 56)] The second list is : [('Hi', 1), ('are', 7), ('you', 10)] The intersection of the list of tuples is : [('Hi', 1)]
説明
- タプルの2つのリストが定義され、コンソールに表示されます。
- これらのタプルのリストは両方とも繰り返され、対応する要素がないかチェックされます。
- 等しい場合は、変数に割り当てられます。
- それ以外の場合は無視されます。
- コンソールに表示されます。
-
なぜPythonはリスト内のリストではなくリスト内のタプルを返すのですか?
Pythonは、一部のデータを返すときにデータを変更しないことを期待しています。タプルもリストよりも高速です。タプルは通常、順序と位置が意味があり、一貫している場合に使用されます。したがって、たとえば、Pythonにデータベースドライバーがあり、いくつかのデータをクエリする場合、ドライバーはデータを取得し、それを変更せずに使用することを期待しているため、タプルのリストが返される可能性があります。これにより、データがクエリしたフィールドと同じ順序になることも保証されます。
-
Pythonでリストを印刷する
リストは一連の要素です。シーケンス内のすべての要素は、シーケンス内の位置によってアクセスできます。インデックスは0で始まります。したがって、list [2]は、リストの3番目のインデックス2、つまり50の要素を返します。