题目来源于testdone
Pipeline
As part of a data processing pipeline, complete the implementation of the pipeline method:
- The method should accept a variable number of functions, and it should return a new function that accepts one parameter arg.
- The returned function should call the first function in the pipeline with the parameter arg, and call the second function with the result of the first function.
- The returned function should continue calling each function in the pipeline in order, following the same pattern, and return the value from the last function.
For example, pipeline(lambda x: x * 3, lambda x: x + 1, lambda x: x / 2) then calling the returned function with 3 should return 5.0.
from functools import reduce
def pipeline(*funcs):
def helper(arg):
return reduce(lambda a, x: x(a),funcs,arg)
return helper
fun = pipeline(lambda x: x * 3, lambda x: x + 1, lambda x: x / 2)
print(fun(3)) #should print 5.0

本文介绍了一种数据处理流水线的实现方法,通过使用Python的reduce函数,将多个函数串联成一个流水线,该流水线可以接受任意数量的函数作为参数,并返回一个新的函数。返回的函数能够依次调用流水线中的每个函数,处理传入的参数并返回最终结果。示例中展示了如何创建一个包含三个函数的流水线,并调用该流水线处理数值。
1914

被折叠的 条评论
为什么被折叠?



