python sklearn.cluster,sklearn库是什么
python itertools。累积工具。累加(iterable[,func])累加对可迭代的对象执行一次功能操作。 (默认为累计) )。
注意:会计返回是一个可重复的对象。
a=[ 1,2,3,4,5]b=累加(一)默认为累积b)这里为可重复对象的国际热核聚变实验堆工具。累积对象0x7f 3 e5c 2 F4 e 48列表)b [
importoperatorc=accumulate(a,operator.mul ) list(c ) c ) [ 1,2,6,24,120 ] pythonfunctools.reduce ]函数大蟒
减少) )累积序列中的元素。
按如下方式操作一个数据集合(链表、元组等)中的所有数据:函数func)中先操作集合的第一、第二个元素,然后用第三个数据和功能函数进行运算,最后得到一个结果。
注意:在Python3.x上,必须引入函数工具模块才能调用减少()函数。
from functoolsimportreducedreduce(func,iterable[,initializer]] ) func -函数,两个参数可重复-可重复对象初始化程序
from functoolsimportreducesum=reduce(lambdax,y: x y,[ 1,2,3,4,5 ])打印)sum)# 15 reducevacumulaterreduce在此模块中,所有可调用的对象都可以视为函数。
将从左到右两个参数的函数累计应用于可迭代的项,以将可迭代的减少为一个值。
如果有functools.reduce(函数、可迭代的、初始值设定项)可选的初始化程序值设置项,则位于计算中可重复项之前,如果可重复项为空,则用作默认值。
如果没有给定初始化程序值的设置项目,并且可迭代的中只包含一个,则返回第一个项目。
示例:reduce(lambdax,y: x y,[ 1,2,3,4,5 ]
示例1:findtroproductoftelistelementsusingreduce(
fromfunctoolsimportreducel1=[ 1,2,3,4,5 ] L2=reduce (lambdax,y:x*y,l1 ) L2 ) #output3360120exput
from functoolsimportreducel 1=[15,12,30,4,5 ] L2=reduce (lambdax,y: x if x y else y,l1 ) print ) L2 ) #output3330
from functoolsimportreducedefsum 1(x,y):返回xyl1=[ 15,12,30,4,5 ] L2=reduce ) sum1,l1)打印(L2)
如果optionalininitializerispresent,则在计算中使用。
from functoolsimportreducedefsum 1(x,y ) : return xyl1=[ 1,2,3,4,5 ] L2=reduce (sum 1,l1,10)打印(L2)
from functoolsimportreducedefsum 1(x,y):返回xyl 1=[5]L2=reduce)sum 1,l 1)打印(l ) l
2)# Output:5l 1=[15]L2=reduce(x,y:x if x y else y,l1)print(l2) # Output:15例6:如果可迭代的为空且给定了初始值,减少()将返回初始值。
从func tools导入reduce def sum 1(x,y): return x yl1=[]l2=reduce(sum1,l1,10)print(L2)# Output:10 ITER工具。累积()生成一个迭代器,返回功能参数中提到的其他二元函数的累加和或累加结果。如果提供了func,它应该是两个参数的函数。输入可迭代的的元素可以是可以作为功能的参数接受的任何类型. Python文档
itertools.accumulate(iterable[,func,*,initial=None])
例1:通过使用itertools.accumulate(),我们可以找到一个可迭代的的运行乘积。函数参数以operator.mul形式给出。
它将返回一个产生所有中间值的迭代器。我们可以通过使用列表()构造函数来转换成列表.
从ITER工具导入累加导入运算符L2=累加([1,2,3,4,5),运算符。mul)print(list(L2))# Output:[1,2,6,24,120]例2:如果没有提到函数参数,默认情况下会执行加法运算
它将返回一个产生所有中间值的迭代器。我们可以使用列表()构造函数转换成列表.
导入itertools #使用增加运算符,因此导入运算符L1=ITER工具公司。积累([1,2,3,4,5])打印(L1)#输出:ITER工具。在0x 02 CD 94 c8 #处累积对象将迭代器转换为列表对象。打印(列表(L1))#输出:[1,3,6,10,15]#对相同的函数使用reduce()从functools导入reduce R1=reduce(运算符。加法,[1,2,3,4,5])打印(r1) #输出:15示例3:1
从ITER工具导入累加14=累加([2,4,6,3,1],最大)打印(列表(l4)) #输出:[2,4,6,6,6]例4:如果提到初始值,就从初始值开始累加。
如果提到了初始参数,它将从初始值开始累加。#它将在输出可迭代中包含多个元素。l2=accumulate([1,2,3,4,5],operator.add,initial=10)print(list(L2))# Output:[10,11,13,16,20,25]例5:如果可迭代的为空,并且提到了最初的参数,它将返回初始值。
从ITER工具导入累计导入运算符L2=累计([],operator.add,initial=10)打印(列表(L2))#输出:[10]示例6:如果可迭代的包含一个元素,且未提及初始参数,则返回该元素。
从ITER工具导入累加L2=累加([5],lambda x,y:x y)打印(列表(L2))#输出:[5]示例7:使用为循环遍历迭代器
返回类型是迭代器。我们也可以使用为循环来遍历迭代器。
从循环器导入accumulatel2=accumulate([5,6,7),lambda x,y:x y)for I in L2:print(I) Output:51118 reduce()和累积()之间的差异
结论:
函数工具模块支持减少()函数。
循环器模块支持累积()函数。
减少()将只返回一个累计值。
累积()将返回累计值。比如,我们可以使用累积()函数找到一个可迭代对象的最大值、乘积和总和。
累积()返回一个迭代器。
感谢您阅读我的文章,希望对您有所帮助!
出自:https://代码突发。io/reduce-vs-accumulate-in-python-3 ecee 4 ee 8094
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。