第四重境界:元婴期

第十三章:缩地成寸 (Comprehensions)

← 上一重境界 | 返回宗门地图
吉多
老祖
徒儿,你现在写代码虽然能跑,但是太啰嗦了!
创建一个列表都要写四五行代码,若是遇到强敌,等你拔出剑来,早就被砍死了!
今日传你 缩地成寸 (推导式) 之术,一行代码,可抵千军万马。
路人
Py
这... 难道就是传说中的 "一行流"?
师尊快教我!我要在师姐面前显摆一下!

1. 凡人身法 (Ordinary Loop)

假设你要把 0 到 4 的数字都变成平方,存到纳戒里。

squares = []
for x in range(5):
    squares.append(x**2)
# 结果: [0, 1, 4, 9, 16]

太慢!太长!太不优雅!

2. 缩地成寸 (List Comprehension)

看好了,这才叫修仙者的代码:

squares = [x**2 for x in range(5)]

一行搞定!心念所至,法随言出。

3. 附带禁制 (Conditionals)

你甚至可以在里面加判断。比如只收偶数的平方:

# 凡人写法
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)])

空间法则波动中...
请施展神通...
>>>
下一章:身外化身 →