Using map(numpy.all, range(-2,3))
实际上是创建一个列表:
[numpy.all(-2), numpy.all(-1), numpy.all(0), numpy.all(1), numpy.all(2)]
giving
[-2, -1, 0, 1, 2]
如果你这样做了map(lambda x: numpy.all([x]), range(-2,3))
,它会做:
[numpy.all([-2]), numpy.all([-1]), numpy.all([0]), numpy.all([1]), numpy.all([2])]
giving
[True, True, False, True, True]
正如@Mark Dickinson 所发布的,存在一个已知问题numpy.all
它返回输入值而不是True
or False
对于一些输入。在你的第二个例子中map(numpy.all, [False, True])
和以前一样,返回输入值。