Python 使用生成器循环列表中的数字

Python 使用生成器循环列表中的数字,python,generator,Python,Generator,我正在寻找一种方法,在每次调用函数时循环遍历列表中的数字 我使用了一个生成器,它一次返回一个列表的成员,但在函数返回最后一个元素后,我没有找到返回列表开头的方法 def returnSeq(self, numRows): for seq in [0, 1, 2, 3, 2, 1]: yield seq 如果有更好的方法来实现这一点,我将不胜感激 提前感谢您,您基本上正在重新实施: 导入itertools itertools.cycle([0,1,2,3,2,1])35;

我正在寻找一种方法,在每次调用函数时循环遍历列表中的数字

我使用了一个生成器,它一次返回一个列表的成员,但在函数返回最后一个元素后,我没有找到返回列表开头的方法

def returnSeq(self, numRows):
    for seq in [0, 1, 2, 3, 2, 1]:
        yield seq
如果有更好的方法来实现这一点,我将不胜感激


提前感谢您,

您基本上正在重新实施:

导入itertools

itertools.cycle([0,1,2,3,2,1])35;您基本上是在重新实现:

导入itertools

itertools.循环([0,1,2,3,2,1])35;使用
循环:

def returnSeq(self, numRows):
    i = 0
    items = [0, 1, 2, 3, 2, 1]
    n_items = len(items)
    while True:
        yield items[i]
        i = (i + 1) % n_items

这将不断增加列表中元素的数量。这意味着它是一个无限生成器,重复生成列表中的元素。

使用
while
循环:

def returnSeq(self, numRows):
    i = 0
    items = [0, 1, 2, 3, 2, 1]
    n_items = len(items)
    while True:
        yield items[i]
        i = (i + 1) % n_items

这将不断增加列表中元素的数量。这意味着它是一个无限生成器,重复生成列表中的元素。

while
循环中的
for
循环。或
while
循环中的
for
循环。