组合出来的东西是什么
compose(f, g) 返回的是【0】。
🔴 顺序反过来,结果差多少
一批金额 [120, 80, 200, 150],门槛 100:留下不低于门槛的,各乘 10,再加起来。这正是 l1_basic_11 里用循环做过的那条流水线。把"过滤"和"乘 10"组合成流水线,
三段组合成一条线
再把"求和"接到后面,三段组合成一个函数: A = [120, 80, 200, 150] LINE = 100 def compose(f, g): """先做 g,再把结果交给
自己写:一个 compose
补全 compose——它要返回一个函数,不是返回结果。
⚠️ 两种顺序各算一次
用刚写好的 compose,把两种顺序的总额都算出来。
⚠️ 组合版和循环版,对一次账
一批金额 [120, 80, 200, 150],门槛 100:留下不低于门槛的,各乘 10,再加起来。这正是 l1_basic_11 里用循环做过的那条流水线。三段组合起来,和循环版对拍。
⚠️ 什么时候函数式反而更难读
下面这些情况里,函数式写法通常更难读的是【0】。
性能上,函数式一定更快吗
把循环换成 map/filter 之后,速度【0】。
⚠️ 中间产物:一边看得见,一边看不见
一批金额 [120, 80, 200, 150],门槛 100:留下不低于门槛的,各乘 10,再加起来。这正是 l1_basic_11 里用循环做过的那条流水线。两种写法各跑一次,把命令式那版的中间产物也打出来: A = [120, 80,
两种写法各几行
数一数命令式那版和声明式那版各占几行: imp = """picked = [] for a in A: if a >= LINE: picked.append(a) res =