Python字典推导式
在Python中,字典推导式是一种构建字典的快速、简洁的方法。它类似于列表推导式,允许我们使用一行代码来生成字典,而不必通过繁琐的循环来实现。
语法
字典推导式的语法如下所示:
{key: value for key, value in iterable}
其中key
和value
是键值对的表达式,iterable
是一个可迭代的对象,如列表、元组等。
示例
1. 基本示例
# 使用字典推导式创建一个简单的字典
my_dict = {i: i**2 for i in range(5)}
print(my_dict)
输出为:
{0: 0, 1: 1, 2: 4, 3: 9, 4: 16}
2. 使用条件表达式
# 使用条件表达式创建一个带筛选条件的字典
numbers = [1, 2, 3, 4, 5]
filtered_dict = {num: num**2 for num in numbers if num % 2 == 0}
print(filtered_dict)
输出为:
{2: 4, 4: 16}
3. 字典推导式嵌套
# 嵌套字典推导式创建一个二维字典
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flattened_dict = {f"row_{i+1}_col_{j+1}": matrix[i][j] for i in range(len(matrix)) for j in range(len(matrix[0]))}
print(flattened_dict)
输出为:
{'row_1_col_1': 1, 'row_1_col_2': 2, 'row_1_col_3': 3, 'row_2_col_1': 4, 'row_2_col_2': 5, 'row_2_col_3': 6, 'row_3_col_1': 7, 'row_3_col_2': 8, 'row_3_col_3': 9}
总结
字典推导式是一种非常强大的工具,可以使我们以一种简洁的方式生成字典。它简化了代码的编写过程,提高了代码的可读性和可维护性。因此,在需要快速创建字典时,字典推导式是一个非常有用的工具。