Python 通过算法比较两个n x m数组之间的条目
我对Python非常陌生,对各种函数的了解非常有限 我的目的是将一个nxm数组中的每个条目与另一个nxm数组中的条目进行比较,所有整数n,m>1。 我希望Python返回另一个nxm布尔值数组 想法: Python中数组中的条目用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
数组[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