【发布时间】:2015-11-14 16:41:49
【问题描述】:
这段涉及赋值和yield 运算符的代码是如何工作的?结果相当令人困惑。
def test1(x):
for i in x:
_ = yield i
yield _
def test2(x):
for i in x:
_ = yield i
r1 = test1([1,2,3])
r2 = test2([1,2,3])
print list(r1)
print list(r2)
输出:
[1, None, 2, None, 3, None]
[1, 2, 3]
【问题讨论】:
-
我不太确定为什么,但最有可能出现在任何 Python 问题的“相关”列表中的一个问题是 the
yieldquestion,即使该问题与yield。不过这一次,确实是相关的。 -
@TigerhawkT3:相关问题是由于有人从一个问题链接到另一个问题。所以想必有很多cmet都指向这个问题。
标签: python yield assignment-operator