Unpacking an array in python

21,502

Solution 1

You could simply transpose it before unpacking:

x, y, z = data.T

Unpacking "unpacks" the first dimensions of an array and by transposing the your array the size-3 dimension will be the first dimension. That's why it didn't work with [x, y, z] = data1[:, 0:3] because that tried to unpack 1000 values into 3 variables.

Solution 2

You could unpack using zip:

x, y, z = zip(*data[:, :3])
Share:
21,502
SEU
Author by

SEU

Updated on September 10, 2020

Comments

  • SEU
    SEU almost 4 years

    I have a variable data that is of (1000L, 3L) shape and I do the following to get the coordinates:

    x = data[:,0]
    y = data[:,1]
    z = data[:,2]
    

    Is there a way to unpack them? I tried but it doesn't work:

    [x,y,z] = data1[:,0:3]