2012-04-16 59 views
2

考慮我有以下兩個元組:如何從幾個相同大小的元組創建一個字典?

keys=("second", "minute", "hour", "day") 
values=(1, 60, 60, 24) 

我想創建一個具有keys元組作爲鍵和values元組爲值的字典。這是我做這件事的天真方式:

d={} 
for i in xrange(len(keys)): 
    d[keys[i]] = values[i] 

有沒有更簡單的方法來做到這一點?

我主要使用Python2.7,所以我寧願選擇這個版本的特權的答案。

回答

7

zip函數將一對可迭代對變爲一對對列表。 dict構造函數接受多種形式的參數,其中一個是(鍵,值)對的序列。把這兩個放在一起,你就得到你想要的:

dict(zip(keys, values)) 
+0

謝謝你非常清楚的解釋^^ – rahmu 2012-04-16 19:01:51

8
>>> keys=("second", "minute", "hour", "day") 
>>> values=(1, 60, 60, 24) 
>>> dict(zip(keys,values)) 
{'second': 1, 'hour': 60, 'minute': 60, 'day': 24} 
相關問題