列表推导式
语法格式
[expression for item in iterable if condition]
组成部分解释:
1.expression:对每个元素进行的操作(可包含变量)
2.item:当前迭代的变量
3.iterable:可迭代对象(如列表、字符串等)
4.if condition:可选的条件过滤(非必须)
# 1. 基础示例:生成平方数列表
squares = [x**2 for x in range(10)] # 输出:[0,1,4,9,...,81]
# 2. 带条件过滤:偶数平方
even_squares = [x**2 for x in range(10) if x % 2 == 0] # 输出:[0,4,16,36,64]
# 3. 多变量操作:坐标生成
coordinates = [(x,y) for x in range(3) for y in range(3)] # 输出9个坐标点
优势特点:
· 代码更简洁易读
· 执行效率通常优于等效的for循环
· 支持嵌套循环和复杂表达式
注意:列表推导式会生成新列表,而生成器推导式(使用小括号)会返回生成器对象,适合大数据量场景。