[英]How to implement “circular” generator in Python?
给定一个生成器表达式:
a = (x for x in range(3))
print(next(a)) # 0
print(next(a)) # 1
print(next(a)) # 2
print(next(a)) # StopIteration
exception 0 1 2
--------------------------------------------------------------------------- StopIteration
Traceback (most recent call last)
<ipython-input-40-863a9b3464a7> in <module>()
3 print(next(a))
4 print(next(a))
----> 5 print(next(a))
StopIteration:
当发生“ StopIteration异常”时,如何实现生成器,然后将其“倒带”到开头,再次返回0?
您可以为此使用itertools.cycle(iterable)方法。
它以iterable作为参数,并在其各项之间循环。
>>>cycle('ABCD') --> A B C D A B C D A B C D
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.