[Numpy-discussion] 0d array value comparisons
Stéfan van der Walt
stefan at sun.ac.za
Fri Jul 25 20:19:47 EDT 2008
2008/7/25 Thomas J. Duck <tom.duck at 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
In [21]: np.array([None, None, None]) == [None]
Out[21]: array([ True, True, True], dtype=bool)
Cheers
Stéfan
More information about the NumPy-Discussion
mailing list