跳到主要内容

简述什么是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 字典的键是偶数的平方,对应的值是这些偶数的立方。