使用序列生成字典

使用序列生成字典

摘录自《利用 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)。它可以将列表、元组或其他序列的元素配对,新建一个元组构成的列表。

image-20200118215303901

需要注意的是,zip 方法返回的是一个 zip 对象,需要使用 list 方法转换为列表。

它可以处理任意长度的序列,生成列表长度由最短的序列决定。

image-20200118215504276

它的最常使用的场景是同时遍历多个序列,有时候会和 enumerate 同时使用。

image-20200118215730044

原文地址:https://www.cnblogs.com/IvyWong/p/12210382.html