Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 通过算法比较两个n x m数组之间的条目_Python_Arrays_Multidimensional Array_Conditional_Conditional Statements - Fatal编程技术网

Python 通过算法比较两个n x m数组之间的条目

Python 通过算法比较两个n x m数组之间的条目,python,arrays,multidimensional-array,conditional,conditional-statements,Python,Arrays,Multidimensional Array,Conditional,Conditional Statements,我对Python非常陌生,对各种函数的了解非常有限 我的目的是将一个nxm数组中的每个条目与另一个nxm数组中的条目进行比较,所有整数n,m>1。 我希望Python返回另一个nxm布尔值数组 想法: Python中数组中的条目用数组[i][j]表示n中的所有i和m中的j 分别在n和m中的所有值上运行i和j。然后比较数组_1[i][j]和数组_2[i][j]。如果数组_1[i][j]==数组_2[i][j]或数组_1[i][j]!=数组_2[i][j],对于n和m中的一些i和j,分别返回“Tru

我对Python非常陌生,对各种函数的了解非常有限

我的目的是将一个nxm数组中的每个条目与另一个nxm数组中的条目进行比较,所有整数n,m>1。 我希望Python返回另一个nxm布尔值数组

想法:

Python中数组中的条目用
数组[i][j]
表示n中的所有i和m中的j

分别在n和m中的所有值上运行i和j。然后比较数组_1[i][j]和数组_2[i][j]。如果数组_1[i][j]==数组_2[i][j]或数组_1[i][j]!=数组_2[i][j],对于n和m中的一些i和j,分别返回“True”,否则返回“False”

然后将其结果(布尔值)馈送到空数组_3中

进口numpy

array_3 = []

array_1 = [['Roy',80,75,85,90,95],
 ['John',75,80,75,85,100],
 ['Dave',80,80,80,90,95]]

array_2 = [['Roy',80,75,75,80],
 ['John',75,60,75,75,90],
 ['Dave',50,80,70,90,85]]


print(type(array_1))
print(type(array_2))
print(type(array_3))

for array_1[i][j] in array_1:
    if array_1[i][j] == array_2[i][j]:
从这里开始,我无法继续下去。 任何提示都将不胜感激。 除非发布后至少24小时,否则无解决方案

编辑:

import numpy

array_1 = numpy.array([['Roy',80,75,85,90,95],
 ['John',75,80,75,85,100],
 ['Dave',80,80,80,90,95]])

array_2 = numpy.array([['Roy',80,75,75,80],
 ['John',75,60,75,75,90],
 ['Dave',50,80,70,90,85]])

arrayssize = [array_1.shape, array_2.shape]
print(size)

for x in range(3):
    for y in range(5): 
        array_3 = [True if array_1[x][y] == array_2[x][y] else False] 

您应该首先将第三个矩阵初始化为相应的大小。 以下是使用假值初始化大小为n的数组的示例:

array_3 = [False for i in range(n)]
现在您应该能够初始化数组_3,但请记住,您有一个矩阵,而不是数组

然后,根据“如果”结果,您可以使用True或False填充矩阵的正确索引:


谢谢你的贡献。让我来做这件事。我对数组_3的存在感到困惑。你能解释一下吗?数组_3将是布尔值的结果矩阵(如果数组_1[x][y]==数组_2[x][y],则为true,否则为false。正如你在问题中所写的:“然后,布尔值的结果被送入一个空数组_3。“
import numpy array_1=numpy.array(['Roy',80,75,85,90,95],'John',75,80,75,85100],'Dave',80,80,90,95])array_2=numpy.array(['Roy',80,75,75,80],'John 75,75,90,90,95],'Dave',50,80,70,90,85])arrarysize=[array_1.shape,array_2.shape]打印(大小)array_3=[True如果array(u=1[x][y][x][y][y][错误]
Python警告我一个无效的syntaxIntuition告诉我应该创建一个单独的值范围,x和y可以被索引。我已经对OP进行了编辑。我当前的代码验证了一个数组是否等于另一个数组;如果等于,则返回true,否则返回false。但是,它仍然没有输出逻辑数组
array_3[x][y] = comparisonResult