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

Sli*_*Jim 7 python numpy

为什么会这样?

>>> map(numpy.all, range(-2, 3))
[-2, -1, 0, 1, 2]
Run Code Online (Sandbox Code Playgroud)

是有意还是整数只是通过裂缝掉落?

它是否与:

>>> map(numpy.all, [False, True])
[False, True]
Run Code Online (Sandbox Code Playgroud)

我正在Numpy 1.8.0.dev-74b08b3Python 2.7.3

Sau*_*tro 1

使用map(numpy.all, range(-2,3))实际上是创建一个列表:

[numpy.all(-2), numpy.all(-1), numpy.all(0), numpy.all(1), numpy.all(2)]
Run Code Online (Sandbox Code Playgroud)

给予

[-2, -1, 0, 1, 2]
Run Code Online (Sandbox Code Playgroud)

如果你这样做了map(lambda x: numpy.all([x]), range(-2,3)),它会这样做:

[numpy.all([-2]), numpy.all([-1]), numpy.all([0]), numpy.all([1]), numpy.all([2])]
Run Code Online (Sandbox Code Playgroud)

给予

[True, True, False, True, True]
Run Code Online (Sandbox Code Playgroud)

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