2013-05-07 25 views
7

なぜこれが起こりますか?整数引数を持つnumpy.allは整数を返します

>>> map(numpy.all, range(-2, 3)) 
[-2, -1, 0, 1, 2] 

これは意図的なものであるか、ちょうど亀裂から落ちる整数ですか?

>>> map(numpy.all, [False, True]) 
[False, True] 

私は実際に持つリスト作成されmap(numpy.all, range(-2,3))を使用Numpy 1.8.0.dev-74b08b3Python 2.7.3

+4

Python 2.7.3、NumPy 1.6.1で '[True、True、False、True、True]'を取得しました。あなたはどのバージョンのPythonとNumPyを使用していますか? –

+5

1.7.1でOPの出力を再現できます。 – DSM

+1

'np.all(-2)'は何を返すと思いますか? –

答えて

1

を実行している:

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

[-2, -1, 0, 1, 2] 
を与えることを

は、それが関連していません 012あなたがmap(lambda x: numpy.all([x]), range(-2,3))をした場合

が、それはどうなる:@マークディッキンソンにより投稿されたよう

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

[True, True, False, True, True] 

を与え、それが代わりにTrueの入力値を返すにnumpy.allの既知の問題がありますいくつかの入力に対してはFalseです。 2番目の例のmap(numpy.all, [False, True])では、前とまったく同じように入力値を返します。