Python迭代器模块itertools常用的方法
Python的itertools模块是一个非常实用的工具箱,提供了很多用于操作迭代器和生成器的函数。在这里,我们将介绍一些常用的itertools函数以及它们的用法。
itertools函数
count()
count()函数返回一个迭代器,用于生成从指定数字开始的无限序列。
import itertools
for i in itertools.count(10):
print(i)
if i > 15:
break
输出:
10
11
12
13
14
15
16
cycle()
cycle()函数返回一个迭代器,将指定的序列无限重复下去。
import itertools
seq = [1, 2, 3]
count = 0
for i in itertools.cycle(seq):
print(i)
count += 1
if count > 10:
break
输出:
1
2
3
1
2
3
1
2
3
1
2
repeat()
repeat()函数返回一个迭代器,将一个元素无限重复下去,或按指定次数重复。
import itertools
for i in itertools.repeat(3, 3):
print(i)
输出:
3
3
3
chain()
chain()函数返回迭代器,将多个序列连接起来。
import itertools
seq1 = [1, 2, 3]
seq2 = [4, 5, 6]
for i in itertools.chain(seq1, seq2):
print(i)
输出:
1
2
3
4
5
6
groupby()
groupby()函数将序列按照指定规则分组,返回一个含有每个组信息的迭代器。
import itertools
seq = [1, 1, 2, 3, 3, 3, 4, 4, 5]
for key, group in itertools.groupby(seq):
print(key, list(group))
输出:
1 [1, 1]
2 [2]
3 [3, 3, 3]
4 [4, 4]
5 [5]
结论
itertools模块提供了很多实用的函数,可以极大地提升Python对迭代器和生成器的处理效率。我们只讲解了其中一部分,你可以通过查看官方文档来了解更多函数的用法。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python迭代器模块itertools常用的方法 - Python技术站