三段组合成一条线
再把"求和"接到后面,三段组合成一个函数:
A = [120, 80, 200, 150]
LINE = 100
def compose(f, g):
"""先做 g,再把结果交给 f"""
return lambda x: f(g(x))
keep = lambda xs: [a for a in xs if a >= LINE]
x10 = lambda xs: [a * 10 for a in xs]
total = lambda xs: sum(xs)
line3 = compose(total, compose(x10, keep))
print(line3(A))
全部评论