目录
1. 列表推导式
1.1 什么是列表推导式
- 列表推导式是 Python 中一种简洁的创建列表的方式。
- 语法格式:
[expression for item in iterable if condition]
- 通过表达式对可迭代对象中的元素进行操作,生成新的列表。
1.2 基本用法
示例 1:创建一个简单的列表
1
2squares = [x**2 for x in range(10)]
print(squares) # 输出: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
1.3 带条件的列表推导式
示例 2:筛选特定条件的元素
1
2even_squares = [x**2 for x in range(10) if x % 2 == 0]
print(even_squares) # 输出: [0, 4, 16, 36, 64]
1.4 嵌套列表推导式
示例 3:处理二维列表
1
2
3matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flat_list = [num for row in matrix for num in row]
print(flat_list) # 输出: [1, 2, 3, 4, 5, 6, 7, 8, 9]
1.5 列表推导式的扩展性
列表推导式不仅可以生成简单的数值列表,还可以处理字符串和自定义对象。
示例 4:处理字符串
1
2
3words = ['hello', 'world', 'python']
upper_words = [word.upper() for word in words]
print(upper_words) # 输出: ['HELLO', 'WORLD', 'PYTHON']
2. 字典推导式
2.1 什么是字典推导式
- 字典推导式是 Python 中用于创建字典的一种简洁方法。
- 语法格式:
{key_expression: value_expression for item in iterable if condition}
- 通过给定的键和值表达式生成新的字典。
2.2 基本用法
示例 1:创建一个简单的字典
1
2square_dict = {x: x**2 for x in range(5)}
print(square_dict) # 输出: {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}
2.3 带条件的字典推导式
示例 2:筛选特定条件的键值对
1
2even_square_dict = {x: x**2 for x in range(10) if x % 2 == 0}
print(even_square_dict) # 输出: {0: 0, 2: 4, 4: 16, 6: 36, 8: 64}
2.4 嵌套字典推导式
示例 3:处理中嵌套结构
1
2nested_dict = {x: {y: x * y for y in range(3)} for x in range(3)}
print(nested_dict) # 输出: {0: {0: 0, 1: 0, 2: 0}, 1: {0: 0, 1: 1, 2: 2}, 2: {0: 0, 1: 2, 2: 4}}
2.5 字典推导式的应用场景
常用于数据的转换、过滤和生成新的字典结构。
示例 4:交换字典的键值对
1
2
3original_dict = {'a': 1, 'b': 2, 'c': 3}
inverted_dict = {v: k for k, v in original_dict.items()}
print(inverted_dict) # 输出: {1: 'a', 2: 'b', 3: 'c'}
3. 总结
- 列表推导式和字典推导式是 Python 强大的特性,能够有效简化代码,提高可读性。
- 掌握这两种推导式可以在数据处理和转换中提升工作的效率。