本文来源公众号“python”,仅用于学术分享,侵权删,干货满满。
itertools
模块是Python标准库中的一个高效工具箱,提供了许多用于处理迭代器的函数。通过itertools
模块,可以简化复杂的循环和迭代操作,大幅提升代码效率。itertools
模块内的函数涵盖了排列组合、无限迭代器、分组、过滤等丰富功能,特别适合数据处理、序列操作等场景。
1 无限迭代器
itertools
模块提供了几种常用的无限迭代器,适用于需要生成无限序列的场景。常见的无限迭代器包括count
、cycle
和repeat
。
1.1 count
:生成等差数列
count(start, step)
函数从start
开始生成无限等差数列,每次递增step
。
以下示例展示了如何生成一个从10开始,每次增加5的无限数列:
import itertools
for num in itertools.count(10, 5):
if num > 30:
break
print(num)
# 输出:10, 15, 20, 25, 30
1.2 cycle
:循环遍历序列
cycle(iterable)
将对序列进行无限循环遍历,适用于需要反复访问的场景。
以下示例展示了如何无限循环一个列表的元素:
colors = ['red', 'green', 'blue']
cycled_colors = itertools.cycle(colors)
for _ in range(6):
print(next(cycled_colors))
# 输出:red, green, blue, red, green, blue