Python 如何从元组列表中获取Xth元素列表?
我需要元组列表中所有第一个元素的顺序列表和另一个所有第二个元素的顺序列表Python 如何从元组列表中获取Xth元素列表?,python,list,tuples,Python,List,Tuples,我需要元组列表中所有第一个元素的顺序列表和另一个所有第二个元素的顺序列表 sset = [('foo',1),('bar',3),('zzz',9)] x = ['foo','bar','zzz'] y = [1,3,9] 我是这样做的: x = [i for i,j in sset] y = [j for i,j in sset] 有更简单的方法吗? 我可以使用dict.keys()和dict.values()但是列表的顺序是否保持了?另外,如果我的元组有>2个元素,dict技巧也不起作用
sset = [('foo',1),('bar',3),('zzz',9)]
x = ['foo','bar','zzz']
y = [1,3,9]
我是这样做的:
x = [i for i,j in sset]
y = [j for i,j in sset]
有更简单的方法吗?
我可以使用dict.keys()
和dict.values()
但是列表的顺序是否保持了?另外,如果我的元组有>2个元素,dict
技巧也不起作用
x,y = dict(sset).keys(), dict(sset).values()
您可以使用zip()
,使用splat任意参数语法应用sset
:
x, y = zip(*sset)
演示:
这将创建元组,而不是列表;您可以根据需要将zip()
输出映射到列表:
x, y = map(list, zip(*sset))
您可以使用zip()
,使用splat任意参数语法应用sset
:
x, y = zip(*sset)
演示:
这将创建元组,而不是列表;您可以根据需要将zip()
输出映射到列表:
x, y = map(list, zip(*sset))