Python的itertools
模块提供了很多用于操作迭代器的函数。其中之一就是cycle()
函数,它可以让一个可迭代对象(如列表或字符串),无限循环输出。下面是对cycle()
函数使用方法的详细攻略。
语法
itertools.cycle(iterable)
参数iterable
是一个可迭代对象,cycle()
函数会将其不断重复迭代。
示例
示例1:列表循环
以下示例演示了如何使用cycle()
函数来循环打印一个列表中的元素。
import itertools
lst = ['a', 'b', 'c']
cycle_lst = itertools.cycle(lst)
for i in range(6):
print(next(cycle_lst))
输出:
a
b
c
a
b
c
这里,我们使用itertools.cycle()
函数创建了一个无限循环迭代器cycle_lst
,它将重复迭代列表lst
中的元素。在for
循环中,我们使用next()
函数逐步打印出了六个元素。
示例2:字符串循环
以下示例演示了如何使用cycle()
函数来循环打印一个字符串中的字符。
import itertools
s = 'Hello, world!'
cycle_str = itertools.cycle(s)
for i in range(15):
print(next(cycle_str))
输出:
H
e
l
l
o
,
w
o
r
l
d
!
H
e
这里,我们使用itertools.cycle()
函数创建了一个无限循环迭代器cycle_str
,它将重复迭代字符串s
中的字符。在for
循环中,我们使用next()
函数逐步打印出了十五个字符。
总结
itertools.cycle()
函数可以使一个可迭代对象无限循环输出,使用方法也十分简单。需要注意的是,因为cycle()
函数会无限循环迭代,因此要使用next()
函数逐步迭代输出,不然程序将无限等待下去。