如何实施";通告";Python中的生成器?
给定一个生成器表达式:如何实施";通告";Python中的生成器?,python,python-3.x,generator,Python,Python 3.x,Generator,给定一个生成器表达式: 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
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:
a=(x代表范围(3)中的x)
打印(下一(a))#0
打印(下一(a))#1
打印(下一(a))#2
打印(下一(a))#停止迭代
例外情况0 1 2
---------------------------------------------------------------------------停止迭代
回溯(最近一次呼叫最后一次)
在()
3打印(下一(a))
4打印(下一(a))
---->5打印(下一(a))
停止迭代:
当发生“StopIteration异常”时,如何实现生成器,然后将其“倒带”到开头,再次返回0?您可以使用此方法
它将iterable作为参数,并循环遍历其项
>>>cycle('ABCD') --> A B C D A B C D A B C D
您可以使用此方法
它将iterable作为参数,并循环遍历其项
>>>cycle('ABCD') --> A B C D A B C D A B C D
你想干什么?应该重复多少次?看起来像是一个循环,你可能会说?你在尝试什么?应该重复多少次?看起来像是一个循环,你可能会说?