推导式大全
列表/字典/集合推导式,一行代码替代多行循环
推导式大全
Python 推导式是简洁高效的数据处理语法,一行代码胜过 5 行循环。
列表推导式
python
nums = [1, 2, 3, 4, 5]
squares = [x**2 for x in nums]
evens = [x for x in nums if x % 2 == 0]
labels = ["偶" if x%2==0 else "奇" for x in nums]
字典推导式
python
d = {x: x**2 for x in range(5)} # {0:0,1:1,2:4,3:9,4:16}
scores = {"a":85,"b":92,"c":78}
passed = {k:v for k,v in scores.items() if v>=80} # 过滤
集合推导式
python
s = {x**2 for x in range(10)} # 自动去重
生成器表达式
python
gen = (x**2 for x in range(5)) # 惰性求值,省内存
total = sum(x for x in range(1000) if x%3==0)
嵌套推导式
python
matrix = [[1,2,3],[4,5,6],[7,8,9]]
flat = [x for row in matrix for x in row] # [1..9]
小结
[...]列表推导式(最常用){...}字典/集合推导式(...)生成器表达式(省内存)