簡體   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