可能是重复问题:
在Python中将两个列表映射到字典中
我有两个列表如下: ['one', 'two', 'three'] 和 [1, 2, 3]
我想把它转换成这样的字典: {'one':1, 'two':2, 'three':3}
问题在于,我必须使用推导式。 谢谢。
可能是重复问题:
在Python中将两个列表映射到字典中
我有两个列表如下: ['one', 'two', 'three'] 和 [1, 2, 3]
我想把它转换成这样的字典: {'one':1, 'two':2, 'three':3}
问题在于,我必须使用推导式。 谢谢。
keys=['one', 'two', 'three']
values= [1, 2, 3]
dictionary = dict(zip(keys, values))
>>> print dictionary
{'one': 1, 'two': 2, 'three': 3}
看看内置函数,它们通常很方便。你可以使用Python 2.7及以上版本的字典推导式,但它们不应该是做这件事的方式:
{k: v for k, v in zip(keys, values)}
keys = ['one', 'two', 'three']
values = [1, 2, 3]
dict(zip(keys, values))
我可以使用最符合Python风格的方式。
如果你真的必须要,你可以使用字典推导式:
{k: v for k,v in zip(keys, values)}
d={k:v for k,v in zip(a, b)}
也许可以符合要求。(当然,我也会用dict(zip(keys, values))
来做。) - DSMdict(zip(list1, list2))
这可能是最好的方法。不要使用推导式,那是一个愚蠢的要求。
好吧,如果你一定要:
keys = ['one', 'two', 'three']
values = [1,2,3]
d = {a:b for a,b in zip(keys,values)}
但是说真的,只需使用dict(zip(keys, values))
dict(zip(keys, values))
;没有答案使用列表推导式(尽管有一个答案使用了生成器表达式,只需更改两个字符即可将其转换为推导式)。这可能是一个愚蠢的要求,但它是一个要求,所以它不是一个重复。 - abarnert