Python中的无限生成器,每周几天

Rud*_*koŭ 4 python generator

我已经看到了类似的问题,我的实用性稍微提高一点,我想一遍又一遍地重复一周的工作日.

到目前为止,我的迭代器不是循环的,请帮我解决这个问题.

def day_generator():
    for w in ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']:
        yield w;

g = day_generator()
print g.next() 
Run Code Online (Sandbox Code Playgroud)

And*_*nov 6

您可以使用itertool的循环:https://docs.python.org/2/library/itertools.html#itertools.cycle

import itertools
def day_generator():
    days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
    for day in itertools.cycle(days):
        yield day
Run Code Online (Sandbox Code Playgroud)

长话短说(并在评论中提到)它真的足以使:

day_generator = itertools.cycle(days)
Run Code Online (Sandbox Code Playgroud)

谢谢@FlavianHautbois