Actually, there's even faster than that:

a = 3
a = array(a, ndmin=1)


atleast_1d is nothing but a wrapper function, that works best when used with
several inputs. When using only one array as inputs, the trick above should
be more appropriate.



On 3/30/07, Bill Baxter <[EMAIL PROTECTED]> wrote:

atleast_1d will do the trick

In [11]: a = 3
In [12]: a = atleast_1d(a)
In [13]: shape(a)
Out[13]: (1,)
In [14]: a.shape   # also works ;-)
Out[14]: (1,)
In [15]: a[0]
Out[15]: 3

--bb

On 3/30/07, Mark Bakker <[EMAIL PROTECTED]> wrote:
> Hello list -
>
> I have a function that normally accepts an array as input, but sometimes
a
> scalar.
> I figured the easiest way to make sure the input is an array, is to make
it
> an array.
> But if I make a float an array, it has 0 dimension, and I can still not
do
> array manipulation on it.
>
> >>> a = 3
> >>> a = array(a)
> >>> shape(a)
> ()
> >>> a[0]
> Traceback (most recent call last):
>   File "<pyshell#121>", line 1, in ?
>     a[0]
> IndexError: 0-d arrays can't be indexed
>
> What would be the best (and easiest, this is for an intro class I am
> teaching) way
> to convert a to an array (recall, most of the time a is already an
array).
>
> Thanks for your help, Mark
>
>
>
> _______________________________________________
> Numpy-discussion mailing list
> Numpy-discussion@scipy.org
> http://projects.scipy.org/mailman/listinfo/numpy-discussion
>
>
_______________________________________________
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion

_______________________________________________
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to