2

可能重复:
将两个列表映射到 Python 中的字典

我有 2 个这样的列表: ['one', 'two', 'three'] 和 [1, 2, 3]

我想把它变成这样的字典 {'one':1, 'two':2, 'three':3}

问题是我必须使用理解。谢谢。

4

4 回答 4

18
keys=['one', 'two', 'three'] 
values= [1, 2, 3]
dictionary = dict(zip(keys, values)) 

>>> print dictionary
{'one': 1, 'two': 2, 'three': 3}

看看内置函数,它们通常会变得很方便。您可以从 Python 2.7 开始使用 dict 理解,但它们不应该是这样做的方法:

{k: v for k, v in zip(keys, values)}
于 2012-10-03T20:04:32.103 回答
5
keys = ['one', 'two', 'three']
values = [1, 2, 3]
dict(zip(keys, values))

这已经是最pythonic的方式了。

如果你真的必须的话,你可以使用dict comprehension

{k: v for k,v in zip(keys, values)}
于 2012-10-03T20:05:16.533 回答
1
dict(zip(list1, list2))

可能是最好的方法。不要使用推导式,这是一个愚蠢的要求。

于 2012-10-03T20:05:05.477 回答
0

好吧,如果你必须:

keys = ['one', 'two', 'three']
values = [1,2,3]
d = {a:b for a,b in zip(keys,values)}

但说真的,只需使用dict(zip(keys, values))

于 2012-10-03T20:13:47.817 回答