Why does numpy.array(a[0],b[0]) have this meaning?
Marc 'BlackJack' Rintsch
bj_666 at gmx.net
Mon Nov 3 03:52:58 EST 2008
On Sun, 02 Nov 2008 23:26:24 -0800, Rick Giuly wrote:
> Case 1
> This generates an error, which makes sense because the argument should
> be a list of numbers:
> numpy.array(10,10)
>
> Case 2
> This does not generate an error and the result is an array with a single
> element:
> a = numpy.array([10])
> b = numpy.array([10])
> numpy.array(a[0],b[0])
>
> The only different I see here between the numpy.array call in the cases
> is that
> a[0] is a numpy int32
> 10 is an int
>
> Why would this minor difference in integer types cause a totally
> different result for the two cases - or is something else causing the
> difference in results?
>From the `numpy.array` docstring:
Inputs:
object - an array, any object exposing the array interface, any
object whose __array__ method returns an array, or any
(nested) sequence.
And `numpy.int32` instances have an `__array__()` method:
In [225]: ten = numpy.int32(10)
In [226]: ten.__array__()
Out[226]: array(10)
Ciao,
Marc 'BlackJack' Rintsch
More information about the Python-list
mailing list