ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

functools.reduce(lambda f, g: lambda x: f(g(x)), functions, lambda x: x)

2022-01-27 23:34:07  阅读:232  来源: 互联网

标签:... functions 函数 functools reduce 复合 lambda


首先,这里操作的数据对象是「函数」,目标是将这些函数复合,也就是「function composing」
functools.reduce(lambda f, g: lambda x: f(g(x)), functions, lambda x: x)

  • lambda f, g: lambda x: f(g(x))
    通过lambda表达式复合函数,它将返回fg的复合函数f(g(x)))
  • functions
    包含多个函数的列表[f,g,h,...],reduce函数将递归的将它们复合为:...h(g(f()))...
  • lambda x: x
    reduce函数的第三个参数有两个作用,参考自此博客
    一是如果初始值存在,那它应该放置在序列的前面,参与运算;二是当结果为空时作为默认值。
    在这里,显然,将f(x)=x作为第一个被复合的函数,是有些没必要的,不太理解作者的本意

作者关于函数复合的自述:https://mathieularose.com/function-composition-in-python

标签:...,functions,函数,functools,reduce,复合,lambda
来源: https://www.cnblogs.com/meeloong/p/15851613.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有