[Numpy-discussion] Is this odd?
Shailendra
shailendra.vikas@gmail....
Thu Apr 1 23:07:46 CDT 2010
Hi All,
Below is some array behaviour which i think is odd
>>> a=arange(10)
>>> a
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> b=nonzero(a<0)
>>> b
(array([], dtype=int32),)
>>> if not b[0]:
... print 'b[0] is false'
...
b[0] is false
Above case the b[0] is empty so it is fine it is considered false
>>> b=nonzero(a<1)
>>> b
(array([0]),)
>>> if not b[0]:
... print 'b[0] is false'
...
b[0] is false
Above case b[0] is a non-empty array. Why should this be consider false.
>>> b=nonzero(a>8)
>>> b
(array([9]),)
>>> if not b[0]:
... print 'b[0] is false'
...
>>>
Above case b[0] is non-empty and should be consider true.Which it does.
I don't understand why non-empty array should not be considered true
irrespective to what value they have.
Also, please suggest the best way to differentiate between an empty
array and non-empty array( irrespective to what is inside array).
Thanks,
Shailendra
More information about the NumPy-Discussion
mailing list