方法1: ネストされたループを使用する方法 この方法では、2つの行列を要素ごとに比較し、異なる要素を見つけるためにネストされたループを使用します。
def find_different_elements(matrix1, matrix2):
different_elements = []
for i in range(len(matrix1)):
for j in range(len(matrix1[0])):
if matrix1[i][j] != matrix2[i][j]:
different_elements.append((i, j))
return different_elements
# 2つの行列を定義する例
matrix1 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
matrix2 = [[1, 2, 3], [4, 0, 6], [7, 8, 9]]
result = find_different_elements(matrix1, matrix2)
print(result) # [(1, 1)]
方法2: NumPyを使用する方法
NumPyは高性能な数値計算ライブラリであり、行列操作に便利です。以下のコードでは、NumPyのnumpy.where
関数を使用して異なる要素を見つけます。
import numpy as np
def find_different_elements(matrix1, matrix2):
matrix1 = np.array(matrix1)
matrix2 = np.array(matrix2)
different_elements = np.where(matrix1 != matrix2)
return list(zip(different_elements[0], different_elements[1]))
# 2つの行列を定義する例
matrix1 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
matrix2 = [[1, 2, 3], [4, 0, 6], [7, 8, 9]]
result = find_different_elements(matrix1, matrix2)
print(result) # [(1, 1)]
これらは2つの一般的な方法ですが、他にもさまざまなアプローチがあります。使用する具体的な要件に応じて、最適な方法を選択できます。以上のコード例を参考にして、行列の異なる要素を見つけるためのPythonコードを作成してみてください。