Python で配列の一致比較 (list, ndarray)

More than 1 year has passed since last update.

この記事では、Python の list および numpy の ndarray において、配列を比較した際に全要素が一致しているかどうかを知る方法について記載しています。


list の場合


  • '==' や '!=' を使って比較演算した場合、全要素を見た場合の一致/不一致が返される。

  • テストコード等で配列全体の一致を調べる場合は、単純に比較演算すればよい。


ComparisonOfArray.py

test_data = [[1,2,3],[4,5,6]]

test_data1 = [[0,2,3],[4,5,6]]
actual = [[1,2,3],[4,5,6]]

print(test_data == actual)
# [out] >> True

print(test_data1 == actual)
# [out] >> False



ndarray の場合


  • '==' や '!=' を使って比較演算した場合、要素ごとの一致/不一致が返される。

  • テストコード等で配列全体の一致を調べる場合は、


    • numpy の .all() コマンドを使う。

    • python native の all() コマンドを使う。




ComparisonOfArray.py

test_data = np.array([1,2,3])

test_data1 = np.array([0,2,3])
actual = np.array([1,2,3])

# element wise comparison
print(test_data == actual)
# [out] >> [True, True, True]
print(test_data1 == actual)
# [out] >> [False, True, True]

# comparison of all the elements
# Using .all() command of the numpy
print((test_data == actual).all())
# [out] >> True
print((test_data1 == actual).all())
# [out] >> False

# Using all() command of the native python
print(all(test_data == actual))
# [out] >> True
print(all(test_data1 == actual))
# [out] >> False



Gist Link

https://gist.github.com/kattoyoshi/6c691033a4951a4607e85fed93841dcf