Python 中的字典推导

Manav Narula 2023年10月10日
Python 中的字典推导

列表是通用名称下多个元素的有序集合。在 Python 中创建和管理列表很简单。为了简化操作,我们提供了 Python 中可用的列表推导方法。这种方法更加简洁,优雅,通常只需一行代码。它通常涉及在方括号内使用 for 循环。

下面的代码演示了如何使用此方法创建简单的整数列表。

lst = [i for i in range(1, 10)]
print(lst)

输出:

[1, 2, 3, 4, 5, 6, 7, 8, 9]

另一方面,字典用于存储键值对。Python 2.7 及更高版本中也支持字典推导。类似地,它用于在一行代码中创建字典。

例如,

d = {i: i * 5 for i in range(1, 5)}
print(d)

输出:

{1: 5, 2: 10, 3: 15, 4: 20}

在上面的代码中,我们将 1 到 5 的整数指定为字典的键,并指定键和 5 的乘积作为其值。

众所周知,我们可以创建字典的键和值的列表。使用字典推导方法,我们可以轻松地使用列表元素创建字典。它显示在下面的例子中。

keys = [1, 2, 3, 4, 5]
vals = ["Mark", "Jack", "Jake", "Sam", "Ash"]

d = {i: j for i, j in zip(keys, vals)}

print(d)

输出:

{1: 'Mark', 2: 'Jack', 3: 'Jake', 4: 'Sam', 5: 'Ash'}

上例中的 zip() 函数用于在合并两个列表后返回一个 zip 类型的对象。

值得注意的是,还有其他方法可以更快地创建字典。例如,我们可以使用 fromkeys() 函数。此函数允许我们通过提供列表中的键来创建字典。缺点是它为所有键指定了相同的值。

例如,

keys = [1, 2, 3, 4, 5]

d = dict.fromkeys(keys, "True")

print(d)

输出:

 {1: 'True', 2: 'True', 3: 'True', 4: 'True', 5: 'True'}
作者: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

相关文章 - Python Dictionary