在Python 3.x中,reduce()不再是内置函数,而是移到了标准库functools中,需要先导入再使用,其官方解释如图所示:
从官方文档可知,该函数用法要点如下:
1)把一个双参数函数以累积的方式从左向右依次作用到序列中的元素上,最终得到单个值。例如,reduce(lambda x, y: x+y, [1, 2, 3, 4, 5])计算过程为((((1+2)+3)+4)+5)。在函数function的两个参数中,左边的参数x是被累积的值,而右边的参数y是依次从序列中获取的值。这也是最常见的用法,在拙作《Python可以这样学》和《Python程序设计开发宝典》中都使用了下图进行了演示,配套PPT有这样一页:
2)提供可选参数initializer时,如果序列非空则将其放置到序列元素之前参与计算,如果序列为空则作为默认值直接返回。
3)如果没有提供可选参数initializer,并且序列中只包含一个元素,则直接返回序列中的第一个元素。
完整用法演示:
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
相关推荐: 10、使用Java High Level REST Client操作elasticsearch
阅读文本大概需要15分钟。 Elasticsearch删除和更新也都是写操作。但是Elasticsearch中的文档是不可变的,因此不能被删除或者改动以展示其变更。那么该如何删除和更新文档呢? 磁盘上的每个段都有一个相应的.del文件。当删除请求发送后,文档并…