Python 带有整数参数的numpy.all返回一个整数

Python 带有整数参数的numpy.all返回一个整数,python,numpy,Python,Numpy,为什么会发生这种情况 >>> map(numpy.all, range(-2, 3)) [-2, -1, 0, 1, 2] 这是故意的还是整数只是从裂缝中掉落 这是否与: >>> map(numpy.all, [False, True]) [False, True] 我正在运行Numpy 1.8.0。dev-74b08b3和Python 2.7.3使用map(Numpy.all,range(-2,3))实际创建了一个包含以下内容的列表: [numpy.al

为什么会发生这种情况

>>> map(numpy.all, range(-2, 3))
[-2, -1, 0, 1, 2]
这是故意的还是整数只是从裂缝中掉落

这是否与:

>>> map(numpy.all, [False, True])
[False, True]
我正在运行
Numpy 1.8.0。dev-74b08b3
Python 2.7.3
使用
map(Numpy.all,range(-2,3))
实际创建了一个包含以下内容的列表:

[numpy.all(-2), numpy.all(-1), numpy.all(0), numpy.all(1), numpy.all(2)]
给予

[-2, -1, 0, 1, 2]
[True, True, False, True, True]
如果您做了
映射(lambda x:numpy.all([x]),范围(-2,3))
,它将执行以下操作:

[numpy.all([-2]), numpy.all([-1]), numpy.all([0]), numpy.all([1]), numpy.all([2])]
给予

[-2, -1, 0, 1, 2]
[True, True, False, True, True]

如@Mark Dickinson所述,
numpy.all
存在一个已知问题,它返回输入值,而不是针对某些输入的
True
False
。在您的第二个示例中,
map(numpy.all,[False,True])
与前面一样返回输入值。

在Python 2.7.3,numpy 1.6.1上,我得到了
[True,True,False,True,True]
。您使用的是什么版本的Python和NumPy?我可以在1.7.1中复制OP的输出。您希望
np.all(-2)
返回什么?我觉得这有点像NumPy bug;在标量上使用
all
是一件很奇怪的事情,这样做可能并不重要,但显然零维数组也是这样的:
numpy.all(numpy.ones(())
为我在numpy 1.7.1上提供了
1.0