简述什么是Python字典推导式?
参考答案:
Python字典推导式(Dictionary Comprehension)是一种创建字典(dictionary)的快捷方式。它使用大括号 {}
,类似于列表推导式(List Comprehension),但生成的是字典对象。字典推导式的基本语法如下:
{key_expr: value_expr for item in iterable if condition}
key_expr
:用于生成字典键的表达式。value_expr
:用于生成字典值的表达式。item
:迭代变量,从iterable
中获取每个元素。iterable
:可迭代对象,如列表、元组、字符串等。condition
:可选的条件表达式,用于筛选满足条件的元素。
下面是一个简单的例子,演示如何使用字典推导式创建一个字典:
# 创建一个字典,将数字 1 到 5 作为键,对应的平方值作为值
square_dict = {x: x**2 for x in range(1, 6)}
print(square_dict) # 输出:{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
在这个例子中,x
是迭代变量,range(1, 6)
是可迭代对象,x**2
是生成字典值的表达式,而 x
本身是生成字典键的表达式。因此,square_dict
字典的键是 1 到 5,对应的值是这些键的平方。
你还可以加入条件表达式来筛选元素,例如:
# 创建一个字典,将 1 到 10 中偶数的平方作为键,对应的立方作为值
even_square_cube_dict = {x**2: x**3 for x in range(1, 11) if x % 2 == 0}
print(even_square_cube_dict) # 输出:{4: 64, 16: 4096}
在这个例子中,x % 2 == 0
是条件表达式,用于筛选偶数。因此,even_square_cube_dict
字典的键是偶数的平方,对应的值是这些偶数的立方。