howto make Python list from numpy.array?
Robert Kern
robert.kern at gmail.com
Sun May 6 17:00:08 EDT 2007
dmitrey wrote:
> Thanks all.
> I tried all the approaches but they don't work in my situation
> I have a variable x that can be
> x = 1
> x = [1, 2, 3]
> x = numpy.array([1,2,3])
> so all troubles are with 1st case
>>>> x=1
>>>> list(x)
> Traceback (most recent call last):
> File "<string>", line 1, in <string>
> TypeError: iteration over non-sequence
>>>> list(array(1))
> Traceback (most recent call last):
> File "<string>", line 1, in <string>
> ValueError: Rank-0 array has no length.
>>>> array(1).tolist()
> Traceback (most recent call last):
> File "<string>", line 1, in <string>
> ValueError: rank-0 arrays don't convert to lists.
>
> Here I used Python 2.4.3, numpy 1.02
All of these results are entirely correct. A scalar (or rank-0 array) is not a
sequence.
If you have a need to transform a scalar into a sequence (e.g. transform 1 to
[1]), then you can use numpy.atleast_1d(x).tolist().
--
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 Python-list
mailing list