Python でリストの同等性をチェックする
このチュートリアルでは、Python で 2つのリストが等しいかどうかを確認するさまざまな方法を調べます。2つのリストが等しくなるためには、最初のリストの各要素が 2 番目のリストの対応する要素と等しくなければなりません。2つのリストの要素が同じであるが、順序が同じでない場合、それらは等しいまたは同一のリストとは見なされません。
listA = [4,7,2,9,1]
があるとすると、listB
のすべての要素が listA
と同一である場合、つまり listB = [4,7,2,9,1]
である場合に限り、listA
は listB
と等しくなります。以下に説明するメソッドを使用して、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