
可迭代对象就像密闭容器里的水,有货倒不出
itertools是python内置的标准模块,提供了很多简洁又高效的专用功能,使用得当能够极大的简化代码行数,同时所有方法都是实现了生成器函数,这就意味着极大的节省内存。
itertools提供的功能主要分为三大块,以最新版本的3.10为例:
- 对可迭代对象无限迭代,无限输出
- 对可迭代对象有限迭代
- 对可迭代对象排列组合
方法如下:

导入包
>>> from iteratortools import *
无限迭代
iteratortools.count(start=0, step=1)
数值生成器,可以指定起始位置和步长,并且步长可以为浮点数。无限输出,一直累加,在例子中需要边睡眠1s边输出。
>>> import time >>> iterator = count(4, 0.5) >>> for i in iterator: ... print(i) ... time.sleep(1) ... 4 4.5 5.0 5.5 6.0 6.5 7.0 7.5
iteratortools.cycle(iteratorable)
无限循环取出可迭代对象里的元素
>>> a = cycle("ABCD")
>>> import time
>>> for i in a:
... print(i)
... time.sleep(1)
...
A
B
C
D
A
B
C
D
iteratortools.repeat(object[, times])
不断重复输出整个object,如果指定了重复次数,则输出指定次数,否则将无限重复。
>>> iterator = repeat('hello world', 10)
>>>
>>> for i in iterator:
... print(i)
...
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hel

itertools是Python内置的高效标准库,提供无限和有限迭代功能,包括数值生成、循环、排列组合等。它通过生成器节约内存,并简化代码。无限迭代包括无限循环和无限累加等;有限迭代如累积、过滤等;排列组合迭代则涵盖笛卡尔积、全排列等。此库在处理迭代问题时能大幅提升效率,特别适用于算法和数据处理场景。
最低0.47元/天 解锁文章
515





