我有2个这样的列表: [' one',' two',' three'] 和 [1,2,3]
我想把它变成这样的字典 {' one':1,' two':2,' three':3}
问题在于我必须使用理解力。 感谢。
答案 0 :(得分:11)
keys=['one', 'two', 'three']
values= [1, 2, 3]
dictionary = dict(zip(keys, values))
>>> print dictionary
{'one': 1, 'two': 2, 'three': 3}
看看builtin functions,它们通常会变得很方便。您可以使用Python 2.7中的dict理解,但它们不应该是这样做的方法:
{k: v for k, v in zip(keys, values)}
答案 1 :(得分:5)
keys = ['one', 'two', 'three']
values = [1, 2, 3]
dict(zip(keys, values))
这已经是最恐怖的方式了。
如果您真的必须,可以使用dict comprehension:
{k: v for k,v in zip(keys, values)}
答案 2 :(得分:1)
dict(zip(list1, list2))
可能是最好的方法。不要使用理解,这是一个愚蠢的要求。
答案 3 :(得分:0)
好吧,如果你必须:
keys = ['one', 'two', 'three']
values = [1,2,3]
d = {a:b for a,b in zip(keys,values)}
但严重的是,只需使用dict(zip(keys, values))