在python中过滤偶数

pal*_*nak 0 python numpy

刚开始使用python并想从numpy数组中过滤偶数:

>array = np.arange(2,10000)
>>print(array)
Run Code Online (Sandbox Code Playgroud)

我知道2号的余数应为0,因此部分过滤条件应如下所示:

>if x%2 == 0
Run Code Online (Sandbox Code Playgroud)

但是无论如何,我总是会遇到某种错误。顺便说一句,我正在使用Python 3。

谢谢,最好

MYG*_*YGz 5

正如Mikel指出的:

print(np.arange(2,10000,2))
Run Code Online (Sandbox Code Playgroud)

这将创建一个数组,该数组从2开始,以10k结束,步长为2,即第二个数字。

或者,如果您想使用模数,可以这样尝试:

ar = np.arange(2,10000)
ar = ar[ar%2==0]
print(ar)
Run Code Online (Sandbox Code Playgroud)

输出:

array([   2,    4,    6, ..., 9994, 9996, 9998])
Run Code Online (Sandbox Code Playgroud)

ar%2==0 创建一个布尔掩码,仅包含偶数