python - 关于仅打印矩阵中某些值的问题

标签 python

我有这个代码:

import numpy as np
X = np.array([[-3, 0, -4], [2, -4, 2], [-2, -2, -2]])
print(X)

生成

[[ -3  0  -4]
 [ 2  -4  2]
 [-2 -2 -2]]

现在,通过上面的矩阵,我只想打印该矩阵/数组中所有正数元素。

我试过了

for i in X:
    if i>0
        print(i)

但这会产生语法错误。

最佳答案

试试这个:

for i in np.nditer(X):
    if i>0:
        print(i)

您遇到错误,因为 if 语句后缺少分号,并且 i 变量是矩阵的一行而不是元素。

如上所述here , nditer 返回一个高效的多维迭代器对象来迭代数组的元素。

使用简单条件进行迭代的另一种方法是:

for i in X[X>0]:
    print(i)

关于python - 关于仅打印矩阵中某些值的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55854669/

相关文章:

python - 使用单个 buildslave 为多个 buildmaster 提供服务

python - 在 Python 3 中使用 sys.stdin 进行文本处理时,我应该如何处理 BOM?

python - 使用 virtualenv 运行另一个版本的 Python

python - PySNMP 无法在 Ubuntu Precise 上发送使用 AES 加密的陷阱

python - 根据差异对列表中最近的元素进行分组

python - 有没有办法根据类型替换 Pandas 中的单元格?

python - 当我尝试移动 Pygame 时,玩家回到初始位置

python - 对于列表的每个成员,将其写入单独的文件 python

python - 如何使我的 python 脚本易于移植?或者如何将所有模块依赖项编译成二进制文件?

python - 在 jupyter lab 中重命名文件或目录快捷方式?