reduce是减少,在计算机中是折叠,合并,汇总的意思
functools.reduce函数
reduce的功能非常好用,看下面的示例:
1
2
3
>>> import functools
>>> functools.reduce(lambda x, y: x+y, [1,2,3,4,5])
15
它的语法为:
reduce(func, sequence[, initial]) -> value
reduce有两个过程:
如果给reduce设置了initial参数,则跳过初始化的过程,直接将Initial与sequence的第一个元素作为func的参数。如果没有给定sequence,而给了Initial,则initial作为直接返回的默认值。
例如,从序列中取出最大值:
1
2
3
4
5
>>> reduce( lambda x, y: x if x > y else y, [1,2,3,4,5] )
5
>>> reduce( lambda x, y: x if x>y else y, [1,2,3,4,5],10 )
10
slice 是一个内置函数(也是一个类),它的核心作用是创建一个切片对象,用来表示一个范围。my_list[start:stop:step] my_list[1:5] 就行了。但如果你需要对多个列表进行完全相同的切片操作,或者切片参数是动态计算的,slice 就非常有用了。