如何使用itertools生成无限序列

126*_*7b9 0 python sequence python-itertools

我想生成两个不定式系列 0 和 1,具体按以下顺序:

0, 1, 0, -1, 0, 1, 0, -1, ...

我创建了以下代码,它不返回除以下内容之外的内容:

# for in loop
for i in itertools.cycle(range(0,2)):
    if i == 0:
        i += 1
        if i == 1:
            i -= 1
            if i == 0:
                i -= 1
                print(i, end = " ")
Run Code Online (Sandbox Code Playgroud)

它只是返回一系列-1。无法弄清楚错误在哪里。任何人都可以提出任何建议

Bro*_*ark 5

您可以使用itertools.cycle()明确声明要生成的元素的方式:

from itertools import cycle
cycle([0, 1, 0, -1])
Run Code Online (Sandbox Code Playgroud)