Python 字典推导式

pythonserver side programmingprogramming更新于 2025/10/25 2:20:17

在本教程中,我们将学习如何在 Python 中使用字典推导式。如果您已经熟悉列表推导式,那么学习字典推导式不会花费太多时间。

我们需要键:值对来创建字典。如何使用字典推导式获取这些键值对?请参阅字典推导式的一般语句。

{key: value for ___ in iterable}

我们需要填写上述语句来完成字典推导式。有很多种方法可以填写它。让我们看看一些最常见的方法。

让我们看看如何生成数字作为键及其平方作为 10 范围内的值。我们的结果应类似于 {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: }. 看下面的代码。

示例

 # 创建字典 squares = {i: i ** 2 for i in range(10)} # 打印字典 print(squares) 

输出

如果运行上述代码,您将获得以下结果。

 {0: 0, 1:1、2:4、3:9、4:16、5:25、6:36、7:49、8:64、9:81}

如何使用此理解从两个列表创建字典?我们可以使用 zip 方法从两个列表中获取并行值。让我们看看如何从 [1, 2, 3, 4, 5] 和 [a, b, c, d, e] 创建一个字典。

示例

# 键
keys = ['a', 'b', 'c', 'd', 'e']
# 值
values = [1, 2, 3, 4, 5]
# 从上述列表创建一个字典
dictionary = {key: value for (key, value) in zip(keys, values)}
# 打印字典
print(dictionary)

输出

如果执行上述程序,您将得到以下内容输出。

{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}

我们还可以使用枚举方法从以索引为键的单个列表生成字典。让我们看看如何做到这一点。

示例

# 值
values = ['a', 'b', 'c', 'd', 'e']
# 使用枚举生成字典
dictionary = {key: value for (key, value) in enumerate(values)}
# 打印字典
print(dictionary)

输出

如果运行上述代码,则会得到以下输出。

{0: 'a', 1: 'b', 2: 'c', 3: 'd', 4: 'e'}

结论

您可以根据需要使用字典推导。学习掌握字典推导的最好方法是尽可能使用它们。如果您对本教程有任何疑问,请在评论部分中提及。


相关文章


有用资源