【发布时间】:2018-03-08 11:49:30
【问题描述】:
我在合并和拆分部分偶然发现了来自pymotw.com 的这段代码。
from itertools import *
def make_iterables_to_chain():
yield [1, 2, 3]
yield ['a', 'b', 'c']
for i in chain.from_iterable(make_iterables_to_chain()):
print(i, end=' ')
print()
我无法理解 make_iterables_to_chain() 是如何工作的。它包含两个yield语句,它是如何工作的? 我知道生成器是如何工作的,但是那里只有一个 yield 语句。
请帮忙!
【问题讨论】:
-
可能只有一个yield语句,但它不是在循环中吗?
-
有两个。我只是不明白两个收益率的基本原理。我以为一旦遇到产量,它就不会转到其他产量,但事实并非如此。
标签: python python-3.x generator yield