def bar(): for k in range(3): return def baz(): for k in range(3): return def kar(): for k in range(3): return def foo(): yield 3 yield 7 for i in range(3): [bar, baz, kar][i]() yield i def f(): for k in range(100000): list(foo()) f()