Python 生成器 - 不产生任何结果或跳转到下一个?
Python generator - yield nothing or jump to next?
我写了一个 Python 代码片段。
def all_but(n):
for i in range(10):
if i != n:
yield i
>>> list(all_but(5))
[0, 1, 2, 3, 4, 6, 7, 8, 9]
嗯,输出是我所期望的。但是我不完全明白当 i == 5 时会发生什么。生成器什么都不产生,还是跳到下一个产生 6?
根据评论总结,生成器在遇到 'yield' 关键字时输出 。
我写了一个 Python 代码片段。
def all_but(n):
for i in range(10):
if i != n:
yield i
>>> list(all_but(5))
[0, 1, 2, 3, 4, 6, 7, 8, 9]
嗯,输出是我所期望的。但是我不完全明白当 i == 5 时会发生什么。生成器什么都不产生,还是跳到下一个产生 6?
根据评论总结,生成器在遇到 'yield' 关键字时输出 。