如何在Python中使用列表理解来创建字典?

zip()函数是内置函数,提供了一个元组列表,其中包含两个列表中具有相同索引的元素。如果两个列表分别是键和值,则此zip对象可用于使用另一个内置函数来构造字典对象dict()

>>> L1=['a','b','c','d']
>>> L2=[1,2,3,4]
>>> d1=dict(zip(L1,L2))
>>> d1
{'a': 1, 'b': 2, 'c': 3, 'd': 4}

在Python 3.xa中,字典解析语法也可用于从zip对象构造字典

>>> L2=[1,2,3,4]
>>> L1=['a','b','c','d']
>>> d={k:v for (k,v) in zip(L1,L2)}
>>> d
{'a': 1, 'b': 2, 'c': 3, 'd': 4}