繁体   English   中英

将值从python中的元组追加到列表

[英]append values to a list from a tuple in python

我写了这样的代码,

x=[]
y=[]
z=[]
d={u'a':(1,2,4), u'b':(1, 0, 1), u'c':(8, 3,1)}

for k,v in d.items():
       x.append(v[0])
       y.append(v[1])
       z.append(v[2])

m=column_val(x,y) #Function call
n=column_val(x,z)

如何简化这些步骤,而不是创建3个列表?

您可以在d.values()上使用zip() d.values()

x, y, z = zip(*d.values())

这仍然会创建3个列表,但更为紧凑。 您要避免为各个column_val()参数创建循环,而最终将产生4个循环。

d示例的演示:

>>> d = {u'a': (1,2,4), u'b': (1, 0, 1), u'c': (8, 3,1)}
>>> x, y, z = zip(*d.values())
>>> x, y, z
((1, 8, 1), (2, 3, 0), (4, 1, 1))

请注意, xyz中的值的顺序不是给定的,因为字典不保留顺序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM