Python でリストを比較する

Manav Narula 2023年1月30日
  1. Python で for ループを使用してリストを比較する
  2. Python で set を使用してリストを比較する
  3. Python で collection.counter() 関数を使用して 2つのリストを比較する
Python でリストを比較する

リストは、Python で特定の順序で複数の要素を格納するために使用されます。

このチュートリアルでは、2つのリストを比較し、等しい要素を見つける方法を学習します。

Python で for ループを使用してリストを比較する

for ループを使用して、リストを反復処理し、1つのリストの各要素を 2 番目のすべてのリスト要素と比較できます。この方法では、比較要素を個別に見つけて、共通の要素を見つけることができます。

次のコードは、これを実装する方法を示しています。

l1 = [1, 2, 3]
l2 = [3, 2, 5]
for i in l1:
    for j in l2:
        if i == j:
            print(i)
            break

出力:

2
3

Python で set を使用してリストを比較する

Set は要素のコレクションであり、順序付けされていません。set() 関数を使用してリストをセットに直接変換し、それらが等しいかどうかを比較できます。

例えば、

l1 = [1, 2, 3, 4, 5]
l2 = [9, 8, 7, 6, 5]

if set(l1) == set(l2):
    print("Lists are equal")
else:
    print("Lists are not equal")

出力:

Lists are not equal

また、2つのセットの共通部分を返す&演算子を使用して、2つのリスト間の共通要素を見つけることもできます。

例えば、

l1 = [1, 2, 3, 4, 5]
l2 = [9, 8, 7, 6, 5]

print("Common Elements", set(l1) & set(l2))

出力:

Common Elements {5}

Python で collection.counter() 関数を使用して 2つのリストを比較する

counter() 関数は、リスト内のすべての要素とそれらの頻度をキーと値のペアとして含む辞書を返します。この辞書を比較して、同等性などを確認できます。

例えば、

import collections

l1 = [1, 2, 3]
l2 = [3, 2, 1]

if collections.Counter(l1) == collections.Counter(l2):
    print("Equal")
else:
    print("Not Equal")

出力:

Equal
著者: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

関連記事 - Python List