Python でリストの同等性をチェックする

Muhammad Waiz Khan 2023年1月30日
  1. Python で等式 == 演算子を使用してリストの同等性を確認する
  2. Python で等式 == 演算子と numpy.all() メソッドを使用して配列の等式を確認する
Python でリストの同等性をチェックする

このチュートリアルでは、Python で 2つのリストが等しいかどうかを確認するさまざまな方法を調べます。2つのリストが等しくなるためには、最初のリストの各要素が 2 番目のリストの対応する要素と等しくなければなりません。2つのリストの要素が同じであるが、順序が同じでない場合、それらは等しいまたは同一のリストとは見なされません。

listA = [4,7,2,9,1] があるとすると、listB のすべての要素が listA と同一である場合、つまり listB = [4,7,2,9,1] である場合に限り、listAlistB と等しくなります。以下に説明するメソッドを使用して、Python で 2つのリストが等しいかどうかを確認できます。

Python で等式 == 演算子を使用してリストの同等性を確認する

Python で 2つのリストが等しいかどうかを確認する簡単な方法は、同等性 == 演算子を使用することです。Python のリスト型で等式 == が使用されている場合、リストが等しい場合は True を返し、等しくない場合は False を返します。

以下のサンプルコードは、同等性 == 演算子を使用して、Python で 2つのリストが等しいかどうかを確認する方法を示しています。

a = [4, 7, 3, 5, 8]
b = [4, 7, 3, 5, 8]
c = [1, 7, 3, 5, 2]

print(a == b)
print(a == c)

出力:

True
False

それでは、要素ごとの結果を取得したいシナリオを見てみましょう。2 番目の配列の対応する要素が等しいかどうかを確認するとします。

このためには、最初に np.array() メソッドを使用してリストを NumPy 配列に変換し、次に等式 == 演算子を使用する必要があります。これにより、各要素に対して True または False が返されます。

以下のサンプルコードは、Python で 2つのリストの要素が等しいかどうかを確認する方法を示しています。

import numpy as np

a = [4, 7, 3, 5, 8]
b = [4, 7, 3, 5, 8]
c = [1, 7, 3, 5, 2]

print((np.array(a) == np.array(b)))
print((np.array(a) == np.array(c)))

出力:

[ True  True  True  True  True]
[False  True  True  True False]

Python で等式 == 演算子と numpy.all() メソッドを使用して配列の等式を確認する

多くの場合、さまざまなタスクに NumPy 配列を使用します。等式 == 演算子を使用して等式をチェックすると、上記のサンプルコードに示すように、要素ごとの結果が得られます。

したがって、Python で NumPy 配列の同等性をチェックするには、numpy.all() メソッドを使用して配列の同等性をチェックする必要があります。np.all() メソッドは、指定された軸に沿った要素が True と評価された場合は True を返し、それ以外の場合は False を返します。

以下のサンプルコードは、Python で 2つの配列が等しいかどうかを確認する方法を示しています。

import numpy as np

a = np.array([1, 6, 4, 8, 3])
b = np.array([1, 6, 4, 8, 3])
c = np.array([1, 4, 8, 2, 3])

print((a == b).all())
print((a == c).all())

出力:

True
False

関連記事 - Python List