from itertools import accumulate
a = [3, 4, 6, 2, 1, 9, 0, 7, 5, 8]
resutls = list(accumulate(a, max))
print(resutls)
# 打印
[3, 4, 6, 6, 6, 9, 9, 9, 9, 9]
[程序已完成]
对列表逐步切片取最大值,即对a[:1],a[:2],a[:3],....取最大值。 max也能换成其它函数,可以是自定义函数。不指定函数,缺省函数这个参数就是一个累加器。
>>> a = [3, 4, 6, 2, 1, 9, 0, 7, 5, 8]
>>> list(accumulate(a,max))
[3, 4, 6, 6, 6, 9, 9, 9, 9, 9]
>>> list(accumulate(a,min))
[3, 3, 3, 2, 1, 1, 0, 0, 0, 0]
>>> list(accumulate(a))
[3, 7, 13, 15, 16, 25, 25, 32, 37, 45]
//累加器相当于用以下函数来完成累加
>>> def Sum(*arg):
return sum(arg)
>>> list(accumulate(a,Sum))
[3, 7, 13, 15, 16, 25, 25, 32, 37, 45]
从i模块中导入子模块a
https://blog.csdn.net/flyinghu123/article/details/103688144/
从 itertools模块 导入 accumulate方法
from ... import ...语句是导入模块/函数的意思
"itertools" 相当于是一个他人编写好的一个程序,称作“库”,里面定义了许多的函数;
"accumulate"就是这个库里的某一个函数
整句话用中文说就是“从iterools库中导入accumulate函数”,这样在你的程序中就可以调用他人定义好的函数了