Python 中的字典推导
Manav Narula
2023年10月10日
列表是通用名称下多个元素的有序集合。在 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 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