2012-04-16 60 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} 
相关问题