我们知道,迭代器在Python中是一种非常高效又好用的数据结构,迭代器的特点是可以做到惰性求值**(lazy evaluation的概念)** ,什么意思呢?就是只有当迭代到某个值的时候它才会被计算产生,比如要遍历一个大文件或者庞大的数据集时,使用传统的遍历就需要将它们一次性全部储存在内存中,而使用迭代器显而易见的好处则是每次只从对象中读取一条数据,不会造成内存的过大开销。
itertools中的函数大多是返回各种迭代器对象,其中很多函数的作用我们平时要写很多代码才能达到,而在运行效率上反而更低,所以直接使用现有系统库才是明智之选。
来看看几个非常有用的itertools库里的方法。
accumulate()
accumulate()方法是用于计算累积的值,简单的说就是累加:
from itertools import accumulate
for item in accumulate([1, 2, 3