字典推导式(Dictionary Comprehension)是Python中一种创建字典的简洁方式,它使用类似于列表推导式的语法结构,但是允许你同时定义键和值。字典推导式的基本形式如下:
{
key_expression: value_expression for item in iterable}
这里,key_expression
和 value_expression
是基于 iterable
中每个 item
进行计算的表达式,用于生成字典的键和值。
下面是一个简单的例子,展示了如何使用字典推导式:
# 假设我们有一个列表,包含一些单词
words = ['apple', 'banana', 'cherry']
# 我们想创建一个字典,其中每个单词是键,其对应的值是单词的长度
word_lengths = {
word: len(word) for word in words}
# 打印创建的字典
print(word_lengths) # 输出: {'apple': 5, 'banana': 6, 'cherry': 6}
在这个例子中,我们遍历 words
列表中的每个单词,并使用字典推导式创建一个新字典,其中每个单词作为键,单词的长度作为值。
字典推导式也可以包含条件表达式,以便在生成字典时过滤掉某些项。这可以通过在推导式后面添加一个 if
语句来实现。例如:
# 假设我们有一个数字列表
numbers = [1, 2, 3, 4, 5, 6]
# 我们想创建一个字典,其中只包含偶数作为键,其平方作为值
even_numbers_squared = {
num: num**2 for num in numbers if num % 2 == 0}
# 打印创建的字典
print(even_numbers_squared) # 输出: {2: 4, 4: 16, 6: 36}
在这个例子中,我们遍历 numbers
列表中的每个数字,并使用条件表达式 if num % 2 == 0
来检查数字是否为偶数。只有偶数才会被添加到字典中,其键为数字本身,值为该数字的平方。