itertools.cycle(iterable)
函数是 Python 标准库 itertools 模块提供的函数,它可以把传入的可迭代对象重复循环展开,生成一个无限循环的迭代器。你可以通过调用next()方法反复取出循环中的值,也可以通过for循环无限循环每次生成的值,直到主动停止。
cycle 函数常用在循环展开需要无限循环下去的场景。通过它,我们可以构建一个无限循环的迭代器,作为一个无限数据流。其中 iterable 可以包含数字、字符串、元组、列表等任何可迭代对象。
下面是 cycle 的使用方法的完整攻略和两个代码示例:
函数定义
itertools.cycle(iterable)
函数参数
- iterable:可迭代的对象。比如 list、tuple、str 等。
返回值
返回一个迭代器,它不断重复 iterable 中的元素。
示例1:列表元素循环展开
import itertools
mylist = ['apple', 'banana', 'cherry']
myiter = itertools.cycle(mylist)
for i in range(6):
print(next(myiter))
该程序输出:
apple
banana
cherry
apple
banana
cherry
在这个示例中,我们首先定义了一个包含三个元素的列表,然后通过 itertools.cycle 函数将它们展开为一个无限循环的迭代器 myiter。最后,我们使用 next 函数获取了这个循环迭代器的前六个元素,它们不断重复了 mylist 中的元素。其中,next 函数每次取出一个元素,i 表示循环次数,我们只循环了六次。
示例2:字符串循环展开
import itertools
mystr = 'Hello'
myiter = itertools.cycle(mystr)
for i in range(10):
print(next(myiter))
该程序输出:
H
e
l
l
o
H
e
l
l
o
在这个示例中,我们将一个字符串 mystr 作为参数,生成了一个循环迭代器 myiter。最后,我们使用 next 函数获取了这个循环迭代器的前十个元素,它们不断重复了字符串 ‘Hello’ 中的字符。其中,i 表示循环次数,我们只循环了十次。
以上就是 cycle 函数的作用与使用方法的完整攻略,希望能对你理解并掌握该函数有所帮助。