程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何比较 Python 中的两个大型二维数组是否完全相等?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何比较 Python 中的两个大型二维数组是否完全相等??

开发过程中遇到如何比较 Python 中的两个大型二维数组是否完全相等?的问题如何解决?下面主要结合日常开发的经验,给出你关于如何比较 Python 中的两个大型二维数组是否完全相等?的解决方法建议,希望对你解决如何比较 Python 中的两个大型二维数组是否完全相等?有所启发或帮助;

如标题所述。我正在尝试比较两个包含单点和单破折号元素的大(21x21)网格,以查看每个索引处的每个元素是否相同。使用 array1 == array2@H_673_4@ 会产生以下错误:

The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
@H_673_4@

但是,我还没有遇到过对 a.all/a.any 语法的很好的解释。点之前是什么?他们需要什么参数?

编辑:我一直在避免使用 NumPy,但没有办法绕过它。 NumPy 是进口的。 有什么想法吗?

我在其中创建点和破折号的默认网格的代码部分:

defaultgrID = [['.' for x in range(wIDth)] for y in range(height)]

for x in range(1,21,2):
    defaultgrID[x] = [" "," "," "]

for x in range(0,2):
    defaultgrID[x] = [".",".","."]
@H_673_4@

解决方法

比较数组的字符串怎么样?

str(arr1) == str(arr2)

,

如果您确定要使用 Numpy,那么解决错误 The truth value of an array.....@H_673_4@ 的方法如下:

  1. 如果您有两个 numpy 数组 arr1@H_673_4@ 和 arr2@H_673_4@,那么到处比较它们的相等性,而不是通过 if arr1 == arr2:@H_673_4@ 而是通过 if np.array_equal(arr1,arr2):@H_673_4@。

  2. 或者,如果您确定您的两个数组具有相同的大小(维度)和类型,那么您也可以像 if np.all(arr1 == arr2):@H_673_4@ 一样比较它们的相等性。

  3. 如果您不使用 Numpy,则可以将两个嵌套列表作为 if arr1 == arr2:@H_673_4@ 进行比较。

您是说您使用 numpy 只执行 np.copy()@H_673_4@。要制作列表的深层副本,您可以使用标准 copy.deepcopy()(您必须 import copy@H_673_4@)。

大佬总结

以上是大佬教程为你收集整理的如何比较 Python 中的两个大型二维数组是否完全相等?全部内容,希望文章能够帮你解决如何比较 Python 中的两个大型二维数组是否完全相等?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。