我想要无限迭代器/生成器,每转返回一个恒定宽度的字符串。死简单的代码
s = '123456789 '
it = my_iter(s, 9)
print(next(it))
print(next(it))
print(next(it))
print(next(it))
print(next(it))
将返回:
123456789
23456789
3456789 1
456789 12
我相信cycle
表单intercools
会有帮助,但我可以将cycle
的环绕和切片结合起来。以下不是包装版本:
def my_iter(s, d):
i = 0
while True:
yield s[i:d+i]
i = i + 1
最自然的旋转习惯用法使用
deque.rotate
:如果要在一个周期结束后重新启动迭代,请尝试:
输出:
或者,如果要提供与先前运行相同的输出,请尝试:
输出:
相关问题 更多 >
编程相关推荐