使用序列生成字典
# 使用序列生成字典
摘录自《利用 Python 进行数据分析》第三版 3.1.4.1
有时可能需要两个序列 (list) 按元素配对生成字典。我们可能会这样写代码
mapping = {}
for key, value in zip(key_list, value_list):
mapping[key] = value
由于字典本质上是 2- 元组(含有 2 个元素的元组)的集合,字典是可以接受一个 2- 元组的列表作为参数的。所以以上代码可以简化为一行。
mapping = dict(zip(key_list, value_list))
zip 方法
顺便一说,zip 方法(来自本书 3.1.3.3)。它可以将列表、元组或其他序列的元素配对,新建一个元组构成的列表。
需要注意的是,zip 方法返回的是一个 zip 对象,需要使用 list 方法转换为列表。
它可以处理任意长度的序列,生成列表长度由最短的序列决定。
它的最常使用的场景是同时遍历多个序列,有时候会和 enumerate 同时使用。