如何用Python Lambda一行实现函数组合(无辅助函数与Reduce)
可行的一行Lambda实现方案
当然可以,你可以直接通过嵌套Lambda表达式完成函数组合,一行代码实现需求:
squareCubed = lambda x: (lambda y: y**2)((lambda z: z**3)(x))
执行print(squareCubed(2))会输出64,和原有代码效果完全一致。
逻辑说明
- 最内层的
lambda z: z**3等价于原代码中的cubed函数,负责计算输入值的三次方; - 外层的
lambda y: y**2等价于原代码中的squared函数,接收内层Lambda的计算结果并计算平方; - 整个表达式通过直接调用嵌套的Lambda,完成了
squared(cubed(x))的组合逻辑,全程未使用任何辅助函数或reduce方法。
内容的提问来源于stack exchange,提问作者cvb0rg
相关产品推荐
相关产品推荐

