[Numpy-discussion] 0d array value comparisons
Robert Kern
robert.kern@gmail....
Fri Jul 25 21:41:29 CDT 2008
On Fri, Jul 25, 2008 at 19:19, Stéfan van der Walt <stefan@sun.ac.za> wrote:
> 2008/7/25 Thomas J. Duck <tom.duck@dal.ca>:
>> Hi,
>>
>> There is some unexpected behaviour (to me) when 0-dimensional
>> arrays are compared with values. For example:
>>
>> >>> numpy.array([0]).squeeze() == 0
>> True
>>
>> >>> numpy.array([None]).squeeze() == None
>> False
>>
>> >>> numpy.array(['a']).squeeze() == 'a'
>> array(True, dtype=bool)
>>
>> Note that each test follows the same pattern, although the dtype for
>> each squeezed array is different. The first case result is what I
>> expected, and the second case result appears wrong. The return type
>> for the third case is inconsistent with those before, but is at least
>> workable.
>>
>> Are these the intended results?
>
> I would think not. E.g., in the following case broadcasting should kick in:
>
> In [20]: np.array([None, None, None]) == None
> Out[20]: False
(some_ndarray == None) == False is actually an intentional special
case. I forget the details of why, and I don't feel like reinstalling
Numeric or numarray to see if it was backwards compatibility, but it's
not a bug.
--
Robert Kern
"I have come to believe that the whole world is an enigma, a harmless
enigma that is made terrible by our own mad attempt to interpret it as
though it had an underlying truth."
-- Umberto Eco
More information about the Numpy-discussion
mailing list