以下是一个示例代码,它比较两个多维数组并将结果输出到一个新数组中:
import numpy as np
def compare_arrays(arr1, arr2):
# 获取两个数组的形状
shape1 = np.shape(arr1)
shape2 = np.shape(arr2)
# 检查数组形状是否相同
if shape1 != shape2:
print("Error: Arrays must have the same shape.")
return None
# 创建一个新的数组来存储比较结果
result = np.zeros(shape1, dtype=bool)
# 比较两个数组的元素
for i in range(shape1[0]):
for j in range(shape1[1]):
if arr1[i][j] == arr2[i][j]:
result[i][j] = True
return result
# 示例用法
array1 = np.array([[1, 2], [3, 4]])
array2 = np.array([[1, 2], [3, 5]])
result_array = compare_arrays(array1, array2)
print(result_array)
在这个示例中,我们使用了NumPy库来处理多维数组。首先,我们检查两个数组的形状是否相同。如果形状不同,我们输出错误信息并返回None。然后,我们创建一个具有相同形状的新数组来存储比较的结果。接下来,我们使用嵌套的for循环来比较每个元素。如果两个元素相等,我们将结果数组相应位置的值设置为True。最后,我们输出结果数组。
在这个示例中,输出结果将是一个具有相同形状的布尔数组。数组的每个元素表示相应位置的两个数组是否相等。在这个示例中,输出结果将是[[True, True], [True, False]]
。
上一篇:比较两个多维数组