Python np.all()不会执行
我写了一个剧本:Python np.all()不会执行,python,numpy,Python,Numpy,我写了一个剧本: import numpy as np a=[0,0,0] if np.all(a==0): print('All are zeros!') 但是什么也没印出来。既然a[]中的所有元素都是0,那么np.all(a==0)的计算结果不应该是真的吗 a必须是numpy数组,才能作为a==0的结果获得数组([True,True,True]) 将a=[0,0,0]更改为a=np.array([0,0,0]),然后重试。a必须是numpy数组,才能作为a==0的结果获得数组([T
import numpy as np
a=[0,0,0]
if np.all(a==0):
print('All are zeros!')
但是什么也没印出来。既然
a[]
中的所有元素都是0
,那么np.all(a==0)
的计算结果不应该是真的吗 a
必须是numpy数组,才能作为a==0
的结果获得数组([True,True,True])
将
a=[0,0,0]
更改为a=np.array([0,0,0])
,然后重试。a
必须是numpy数组,才能作为a==0
的结果获得数组([True,True,True])
将
a=[0,0,0]
更改为a=np.array([0,0,0])
,然后重试。为了避免将列表a
显式转换为numpy.ndarray
,您可以直接调用numpy
的比较运算符:
np.all(np.equals(a, 0))
但是,如果您的数据已经是Python列表,只需使用Python的all()
即可获得相同的结果,而计算all()
所需的时间只需numpy
的一小部分:
为了避免将列表
a
显式转换为numpy.ndarray
,您可以直接调用numpy
的比较运算符:
np.all(np.equals(a, 0))
但是,如果您的数据已经是Python列表,只需使用Python的all()
即可获得相同的结果,而计算all()
所需的时间只需numpy
的一小部分: