Reputation: 3460
Suppose I have 2D array
, for simplicity, a=np.array([[1,2],[3,4]])
. I want to convert it to list
of arrays, so that the result would be:
b=[np.array([1,2]), np.array([3,4])]
I found out that there is np.ndarray.tolist()
function, but it converts N-D array into nested list
. I could have done in a for
loop (using append
method), but it is not efficient/elegant.
In my real example I am working with 2D arrays of approximately 10000 x 50 elements and I want list
that contains 50 one dimensional arrays, each of the shape (10000,)
.
Upvotes: 0
Views: 129
Reputation: 39072
Why don't you use list comprehension as follows without using any append
:
a=np.array([[1,2],[3,4]])
b = [i for i in a]
print (b)
Output
[array([1, 2]), array([3, 4])]
Upvotes: 3