python - 如何检查矩阵是否在矩阵列表中 Python

标签 python arrays list numpy matrix

这是矩阵列表;

[matrix([[1, 0],
         [1, 0],
         [1, 0],
         [1, 0]]),
 matrix([[0, 0, 0, 0],
         [1, 1, 1, 1]]),
 matrix([[0, 1],
         [0, 1],
         [0, 1],
         [0, 1]]),
 matrix([[0, 0, 0, 0],
         [1, 1, 1, 1]]),
 matrix([[1, 1, 1, 1],
         [0, 0, 0, 0]])]

我想检查列表示例中是否已经有一个矩阵;

a = matrix([[0, 0, 0, 1],
            [1, 1, 1, 0]])

所以如果 a 在 m 中则打印 True 否则打印 False

最佳答案

我假设您正在使用 NumPy。如果是这种情况,请不要使用 np.matrix,使用 np.arraynp.matrix 的存在几乎完全是出于遗留原因,并且具有不良特性。

您可以将 any 与生成器理解和 np.array_equal 一起使用.如果在输入列表中找到数组,这将短路到 True,否则返回 False

import numpy as np

L = [np.array([[1, 0], [1, 0], [1, 0], [1, 0]]),
     np.array([[0, 0, 0, 0], [1, 1, 1, 1]]),
     np.array([[0, 1], [0, 1], [0, 1], [0, 1]]),
     np.array([[0, 0, 0, 0], [1, 1, 1, 1]]),
     np.array([[1, 1, 1, 1], [0, 0, 0, 0]])]

A = np.array([[0, 0, 0, 1], [1, 1, 1, 0]])

res = any(np.array_equal(A, i) for i in L)  # False

关于python - 如何检查矩阵是否在矩阵列表中 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52636882/

相关文章:

python - 使用 oauth2 服务帐户在 python 中向 Google API 进行身份验证

ios - 从数组中检索特定值到自定义单元格 - Swift

jquery计算顶级UL中的li数

CSS - 元素符号和列表之间的空间而不填充列表

R 将列出的矩阵中的行附加到矩阵/数据帧,同时跳过缺失值

python - 从 XLWT 以横向模式设置 Excel 工作表

python - 使用依赖项/资源构建 python 发行版的最佳工具

python - 嵌套的 If/Else 控制流在不应该执行时执行 - 可能是逻辑操作错误

php - 服务器将数据发送到表中

c - 在 char[] 中查找带有通配符的子字符串