howto make Python list from numpy.array?

T

Terry Reedy

| howto make Python list from numpy.array?

I Googled 'numpy array Python list' and looked at the third hit
(PythonBasics) and at the bottom found your answer. About 30 seconds or
less.

tjr
 
D

dmitrey

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 caseTraceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):

Here I used Python 2.4.3, numpy 1.02
 
R

Robert Kern

Amaury said:
Hello,

John Nagle a écrit :

Which can be expressed more simply as:
lst = list(arr)

For N-D arrays, that will give you a list of arrays. If you want a list of lists
(of lists of lists ... etc N times), use the .tolist() method of arrays.

--
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
 
R

Robert Kern

dmitrey said:
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 caseTraceback (most recent call last):
Traceback (most recent call last):
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
 
S

Steven D'Aprano

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

And yet your question was about the third case:

"howto make Python list from numpy.array?"


You should have asked:

How do I make a Python list from an int?

And the answer would be:

x = 1
lst = [x]

Another answer would be:

x = 1
lst = ["existing", "list"]
lst.append(x)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
474,431
Messages
2,571,679
Members
48,796
Latest member
Greg L.

Latest Threads

Top