Python字典理解

在本教程中,我们将学习如何在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:81}。请参见下面的代码。

示例

# creating the dictionary
squares = {i: i ** 2 for i in range(10)}
# printing the dictionary
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
keys = ['a', 'b', 'c', 'd', 'e']
# values
values = [1, 2, 3, 4, 5]
# creating a dict from the above lists
dictionary = {key: value for (key, value) in zip(keys, values)}
# printing the dictionary
print(dictionary)

输出结果

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

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

我们还可以使用enumerate方法从单个索引为索引的列表中生成字典。让我们看看如何做。

示例

# values
values = ['a', 'b', 'c', 'd', 'e']
# generating a dict using enumerate
dictionary = {key: value for (key, value) in enumerate(values)}
# printing the dict
print(dictionary)

输出结果

如果运行上面的代码,则将获得以下输出。

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

结论

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