2017-08-10 25 views
2

我试图重塑元组:整形元组分成两个1-d阵列

x = [(1,2), (5,4), (3,6)] 

成两个阵列:[1,5,3]和[2,4,6]在一行

这是工作:

a = [x[0] for x in X] 
b = [x[1] for x in X] 

但是,这是行不通的:

(a, b) = [(x[0], x[1]) for x in X] 

如何在一条线上完成?

+1

https://stackoverflow.com/questions/19339/transpose-unzip-function-inverse-of-zip不知道如果直接复制... –

+0

这绝对是答案。我认为不要将其标为重复,尽管可以肯定地提出一个论点。 – jhpratt

回答

0

你可以用拉链做到这一点:

a, b = zip(*x)