返回
Python 列表推导式:简明扼要地创建列表
后端
2023-09-09 14:02:33
列表推导式的语法
列表推导式的语法如下:
[expression for item in iterable]
expression
是一个表达式,它将对iterable
中的每个元素进行计算。item
是一个变量,它表示iterable
中的每个元素。iterable
是一个可迭代对象,例如列表、元组或字符串。
例如,以下代码使用列表推导式创建了一个包含 1 到 10 的数字列表:
numbers = [x for x in range(1, 11)]
这个列表推导式等价于以下代码:
numbers = []
for x in range(1, 11):
numbers.append(x)
列表推导式的应用案例
列表推导式可以用于各种各样的任务,包括:
- 创建一个包含特定元素的列表
- 过滤一个列表中的元素
- 对一个列表中的元素进行映射
- 对一个列表中的元素进行分组
以下是一些列表推导式的应用案例:
- 创建一个包含 1 到 10 的偶数的列表:
even_numbers = [x for x in range(1, 11) if x % 2 == 0]
- 过滤一个列表中的字符串,只保留长度大于 5 的字符串:
long_strings = [s for s in strings if len(s) > 5]
- 对一个列表中的数字进行映射,将每个数字乘以 2:
doubled_numbers = [x * 2 for x in numbers]
- 对一个列表中的字符串进行分组,将每个字符串按首字母分组:
grouped_strings = {letter: [s for s in strings if s[0] == letter] for letter in letters}
列表推导式的优点
列表推导式具有以下优点:
- 简明扼要:列表推导式比传统的 for 循环更简明扼要。
- 易于阅读:列表推导式易于阅读和理解。
- 高效:列表推导式在某些情况下比传统的 for 循环更高效。
列表推导式的缺点
列表推导式也存在一些缺点:
- 不支持嵌套循环:列表推导式不支持嵌套循环。
- 不支持 break 和 continue 语句:列表推导式不支持 break 和 continue 语句。
结论
列表推导式是 Python 中一种强大的工具,可以用于创建列表。列表推导式简明扼要、易于阅读和理解,并且在某些情况下比传统的 for 循环更高效。然而,列表推导式也不支持嵌套循环和 break 和 continue 语句。