这里写目录标题
3.1 列表推导式
列表推导式(list comprehension)是 Python 中创建列表的一种简洁的方法。它允许你通过对一个序列进行操作并筛选出符合条件的元素来生成一个新的列表。
基本语法:
[expression for element in iterable]
或者带有条件的形式:
[expression for element in iterable if condition]
示例:
- 生成一个包含前 10 个正整数平方的列表:
squares = [x**2 for x in range(1, 11)]
- 生成一个列表,其中只包含原列表中的偶数:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] even_numbers = [x for x in numbers if x % 2 == 0]
- 使用两个嵌套循环生成一个二维列表(矩阵):
matrix = [[x * y for y in range(1, 4)] for x in range(1, 4)]
这些例子展示了列表推导式的强大和灵活性。使用列表推导式可以让你的代码更简洁、易读。但需要注意的是,如果推导式过于复杂,可能会影响代码的可读性,因此在使用时需要权衡。
接下来,我将用 Python 代码来演示这些示例。
示例 1:生成一个包含前 10 个正整数平方的列表
squares = [x**2 for x in range(1, 11)]
示例 2:生成一个列表,其中只包含原列表中的偶数
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = [x for x in numbers if x % 2 == 0]
示例 3:使用两个嵌套循环生成一个二维列表(矩阵)
matrix = [[x * y for y in range(1, 4)] for x in range(1, 4)]
print(even_numbers, matrix)
([1, 4, 9, 16, 25, 36, 49, 64, 81, 100],
[2, 4, 6, 8, 10],
[[1, 2, 3], [2, 4, 6], [3, 6, 9]])
这是三个示例的输出结果:
-
前 10 个正整数平方的列表: 1 , 4 , 9 , 16 , 25 , 36 , 49 , 64 , 81 , 100 1, 4, 9, 16, 25, 36, 49, 64, 81, 100 1,4,9,16,25,36,49,64,81,100
-
原列表中的偶数: 2 , 4 , 6 , 8 , 10 2, 4, 6, 8, 10 2,4,6,8,10
-
三维列表(矩阵):
1 2 3 2 4 6 3 6 9
这些示例展示了列表推导式的应用及其简洁性。通过这种方式,你可以快速地生成复杂的列表,而无需编写多行循环和条件判断代码。
3.2 三元表达式
三元表达式(ternary expression)是一种简洁的条件表达式,用于在一行中根据条件返回两个值之一。它是 if-else
语句的简写形式。
基本语法:
value_if_true if condition else value_if_false
示例:
- 使用三元表达式来获取两个数中的较大者:
max_value = x if x > y else y
- 根据一个条件为变量赋值:
is_valid = True status = "valid" if is_valid else "invalid"
- 链式三元表达式:
result = "high" if value > 10 else "low" if value < 5 else "medium"
三元表达式在需要简短的条件赋值时非常有用,但它不应该用于复杂的逻辑判断,因为这会降低代码的可读性。
现在,我将用 Python 代码来演示这些示例。
示例 1:使用三元表达式来获取两个数中的较大者
x = 10
y = 20
max_value = x if x > y else y
示例 2:根据一个条件为变量赋值
is_valid = True
status = "valid" if is_valid else "invalid"
示例 3:链式三元表达式
value = 7
result = "high" if value > 10 else "low" if value < 5 else "medium"
print(status, result)
(20, 'valid', 'medium')
这是三个示例的输出结果:
- 两个数中的较大者:20
- 变量的状态:valid
- 值的结果:medium
这些示例展示了三元表达式的应用及其简洁性。通过这种方式,你可以在一行中执行简单的条件判断,从而使代码更加紧凑。但需要注意的是,三元表达式应适度使用,以保持代码的可读性。
3.3 断言
断言(assertion)是 Python 中的一种调试工具,用于检查某个条件是否为真。如果条件为真,程序继续执行;如果条件