将元组列表划分为多个列表的更简洁方法

Key*_*oze 0 python numpy

标题是不言自明的,是否有一行表达式可以这样做?

可重现的例子:

Data = [(21,1,2000), (30,0,1991), (27,0,1994)]

age = [el[0] for el in Data]
sex = [el[1] for el in Data]
birth = [el[2] for el in Data]

print(age, sex, birth)
Run Code Online (Sandbox Code Playgroud)

Cor*_*ien 8

使用zip

age, sex, birth = zip(*Data)  # tuple

# OR

age, sex, birth = map(list, zip(*Data))  # list
Run Code Online (Sandbox Code Playgroud)
>>> age
[21, 30, 27]

>>> sex
[1, 0, 0]

>> birth
[2000, 1991, 1994]
Run Code Online (Sandbox Code Playgroud)