Python 用cycle()循环迭代

  • Post category:Python

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()函数逐步迭代输出,不然程序将无限等待下去。