检查列表的列表的行和列中的元素,而不使用pandas



如果我有一个列表的列表

矩阵=[(2、3、1、2),(1、2、3、2),(3、3、1、2),(2,2、3、3])

如何使用for循环检查例如,如果element = 1存在于每列

使用numpy:

np.any(a==1, 1).all()

>>> a = np.array([[2, 3, 1, 2],[1, 2, 3, 2],[3, 3, 1, 2], [2, 2, 3, 3]])
>>> np.any(a==1, 1).all()
False
>>> a = np.array([[2, 3, 1, 2],[1, 2, 3, 2],[3, 3, 1, 2], [2, 1, 3, 3]])
>>> np.any(a==1, 1).all()
True

使用all,in和列表推导式:

matrix = [[2, 3, 1, 2], [1, 2, 3, 2], [3, 3, 1, 2], [2, 2, 3, 3]]
valid = all(1 in row for row in matrix)

或者,详细的方式:

matrix = [[2, 3, 1, 2], [1, 2, 3, 2], [3, 3, 1, 2], [2, 2, 3, 3]]
valid = True
for row in matrix:
if 1 not in row:
valid = False
break

相关内容

  • 没有找到相关文章

最新更新