考虑我有以下两个元组:
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,所以我更喜欢这个版本的特权答案。
答案 0 :(得分:8)
>>> keys=("second", "minute", "hour", "day")
>>> values=(1, 60, 60, 24)
>>> dict(zip(keys,values))
{'second': 1, 'hour': 60, 'minute': 60, 'day': 24}
答案 1 :(得分:7)
zip
函数将一对迭代变为对列表。 dict
构造函数接受多种形式的参数,其中一种是(键,值)对的序列。把两者放在一起,你得到你想要的东西:
dict(zip(keys, values))