[英]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))
請注意, x
, y
和z
中的值的順序不是給定的,因為字典不保留順序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.