三个高阶函数各做了什么
一批金额 [120, 80, 200, 150],门槛 100:留下不低于门槛的,各乘 10,再加起来。这正是 l1_basic_11 里用循环做过的那条流水线。再加一份带城市的订单。filter 挑出几条、map 把全部乘 10、sorted 按金额排一遍:
A = [120, 80, 200, 150]
LINE = 100
ORD = [{'city': '北京', 'amount': 120}, {'city': '上海', 'amount': 80}, {'city': '北京', 'amount': 200}, {'city': '广州', 'amount': 150}]
picked = list(filter(lambda a: a >= LINE, A))
mapped = list(map(lambda a: a * 10, A))
by_amt = [o["amount"] for o in sorted(ORD, key=lambda o: o["amount"])]
print(str(len(picked)) + "|" + "/".join(str(x) for x in mapped)
+ "|" + "/".join(str(x) for x in by_amt))
全部评论