将不同于值 (python3) 的 numpy 数组的元素设置为零:a[a <> 5] = 0



在python 2中,以下代码可以工作:

a = np.array([[1,5],[2,3]])
print a
print()
a[a<2] = 0
print a
a[a <> 5] = 0
print a

但在python3中,它会触发语法错误:

a[a <> 5] = 0
File "<ipython-input-14-165e29d9f8e4>", line 1
    a[a <> 5] = 0
         ^
SyntaxError: invalid syntax

"not equal to"的正确语法现在是a[a != 5] = 0

(Python 3中另一个向后兼容性中断的实例)。

在Python 3中,<>!=取代。这类似于将print从语句更改为函数的方式。参见文档中的比较:

!=也可以写成<>,但这是一种过时的用法,只是为了向后兼容而保留。新代码应该始终使用!=

p。s:你可以偷偷摸摸地做:

from __future__ import barry_as_FLUFL

允许<>并使!=成为SyntaxError,但实际上不要,只使用!=

最新更新