我试图使用python中的all
函数来搜索矩阵,但它的行为并不像预期的那样。我假设matrix
会输出True
,而matrix2
会输出False
。我错过了什么
matrix= [[1,1,1,1,1,1,1,1],
[1,1,1,1,1,1,1,1],
[1,1,1,1,1,1,1,1],
[1,1,1,1,1,1,1,1],
[1,1,1,1,1,1,1,1],
[1,1,1,1,1,1,1,1],
[1,1,1,1,1,1,1,1],
[1,1,1,1,1,1,1,1]]
matrix2= [[0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0]]
def isComplete(m):
return all(item != 0 for item in m)
print isComplete(matrix)
print isComplete(matrix2)
输出:
True
True
只需更改
isComplete()
:在代码只检查
list(non empty list)
之前,这就是它返回True
的原因这里必须使用嵌套循环,因为矩阵包含列表而不是实际的数字
您需要迭代嵌套列表,因此需要嵌套理解
相关问题 更多 >
编程相关推荐