Python には、2 つのリストを比較するための複数の方法が用意されています。比較とは、リストのデータ項目が別のリストのデータ項目と同じであるかどうかをチェックする処理です。
list1 - [11, 12, 13, 14, 15] list2 - [11, 12, 13, 14, 15] Output - The lists are equal
2 つのリストを比較する方法を以下に示します。
- cmp() 関数
- set() 関数と == 演算子
- sort() 関数と == 演算子
- collection.counter() 関数
- Reduce() 関数と Map() 関数
cmp() 関数
の パイソン cmp() 関数は 2 つの Python オブジェクトを比較し、比較に従って整数値 -1、0、1 を返します。
注 - Python 3.x バージョンでは使用しません。
set() 関数と == 演算子
パイソン セット() 関数 要素の順序を考慮せずに、リストを操作してセットに組み込みます。さらに、等号演算子 (==) を使用してリストのデータ項目を比較します。次の例を理解してみましょう。
例 -
list1 = [11, 12, 13, 14, 15] list2 = [12, 13, 11, 15, 14] a = set(list1) b = set(list2) if a == b: print('The list1 and list2 are equal') else: print('The list1 and list2 are not equal')
出力:
The list1 and list2 are equal
説明:
上の例では、2 つのリストを相互に比較することを宣言しました。これらのリストをセットに変換し、== 演算子を使用して各要素を比較しました。両方のリストのすべての要素が等しい場合、ブロックが実行され、結果が出力されます。
== 演算子を使用した sort() メソッド
パイソン 選別() 関数はリストをソートするために使用されます。同じリストの要素は同じインデックス位置を意味します。リストは等しいです。
注 - sort() メソッドでは、比較前にリストをソートしているため、リスト項目を任意の順序で渡すことができます。
次の例を理解してみましょう -
例 -
import collections list1 = [10, 20, 30, 40, 50, 60] list2 = [10, 20, 30, 50, 40, 70] list3 = [50, 10, 30, 20, 60, 40] # Sorting the list list1.sort() list2.sort() list3.sort() if list1 == list2: print('The list1 and list2 are the same') else: print('The list1 and list3 are not the same') if list1 == list3: print('The list1 and list2 are not the same') else: print('The list1 and list2 are not the same')
出力:
The list1 and list3 are not the same The list1 and list2 are not the same
collection.counter() 関数
収集モジュールが提供するのは、 カウンター()、 リストを効率的に比較します。データを辞書形式で保存し、リストの項目の頻度をカウントします。
注 - この関数では、リストの要素の順序は関係ありません。
例 -
import collections list1 = [10, 20, 30, 40, 50, 60] list2 = [10, 20, 30, 50, 40, 70] list3 = [50, 10, 30, 20, 60, 40] if collections.Counter(list1) == collections.Counter(list2): print('The lists l1 and l2 are the same') else: print('The lists l1 and l2 are not the same') if collections.Counter(list1) == collections.Counter(list3): print('The lists l1 and l3 are the same') else: print('The lists l1 and l3 are not the same')
出力:
The lists list1 and list2 are not the same The lists list1 and list3 are the same
reduce() と map()
の 地図() function は関数と Python 反復可能オブジェクト (リスト、タプル、文字列など) を引数として受け取り、マップ オブジェクトを返します。この関数はリストの各要素に実装され、結果としてイテレータを返します。
さらに、 減らす() メソッドは、指定された関数を反復可能なオブジェクトに再帰的に実装します。
ここでは両方の方法を組み合わせて使用します。の 地図() 関数は、すべての反復可能なオブジェクトに関数 (ユーザー定義またはラムダ関数の場合があります) を実装します。 減らす() 関数は、再帰的に適用される処理を処理します。
注 -reduce() 関数を使用するには、functool モジュールをインポートする必要があります。
次の例を理解してみましょう。
例 -
import functools list1 = [10, 20, 30, 40, 50] list2 = [10, 20, 30, 50, 40, 60, 70] list3 = [10, 20, 30, 40, 50] if functools.reduce(lambda x, y: x and y, map(lambda a, b: a == b, list1, list2), True): print('The list1 and list2 are the same') else: print('The list1 and list2 are not the same') if functools.reduce(lambda x, y: x and y, map(lambda a, b: a == b, list1, list3), True): print('The list1 and list3 are the same') else: print('The list1 and list3 are not the same')
出力:
The list1 and list2 are not the same The list1 and list3 are the same
このセクションでは、Python で 2 つのリストを比較するさまざまな方法について説明しました。
映画女優カジャール