假设你要把 0 到 4 的数字都变成平方,存到纳戒里。
squares = []
for x in range(5):
squares.append(x**2)
# 结果: [0, 1, 4, 9, 16]
太慢!太长!太不优雅!
看好了,这才叫修仙者的代码:
squares = [x**2 for x in range(5)]
一行搞定!心念所至,法随言出。
你甚至可以在里面加判断。比如只收偶数的平方:
# 凡人写法
evens = []
for x in range(10):
if x % 2 == 0:
evens.append(x**2)
# 仙人写法
evens = [x**2 for x in range(10) if x % 2 == 0]
任务:用推导式生成一个列表,包含 "1号", "2号", "3号"。
(提示:[f"{i}号" for i in range(1, 4)])