⚠️ 中间产物:一边看得见,一边看不见
一批金额 [120, 80, 200, 150],门槛 100:留下不低于门槛的,各乘 10,再加起来。这正是 l1_basic_11 里用循环做过的那条流水线。两种写法各跑一次,把命令式那版的中间产物也打出来:
A = [120, 80, 200, 150]
LINE = 100
# 命令式:中间产物都有名字
picked = [a for a in A if a >= LINE]
scaled = [a * 10 for a in picked]
total_imp = sum(scaled)
# 声明式:一行到底,中间产物没有名字
total_dec = sum(map(lambda a: a * 10, filter(lambda a: a >= LINE, A)))
print(str(len(picked)) + "/" + str(len(scaled)) + "/"
+ str(total_imp) + "/" + str(total_dec))
全部评论