我有一个简单的函数:
def foo(inp):
i = 0
while (i < len(inp)):
yield {i,inp[i]}
i = i+1
for x in foo(("a", "b", "c")):
print(x)
我想打印出来
{0, 'a'}
{1, 'b'}
{2, 'c'}
有时
印刷品
{0, 'a'}
{1, 'b'}
{'c', 2}
为什么要交换最后一个元组的成员?
更奇怪的是,在输入列表中添加“d”,我看到了三个不同的输出。要么所有输出都正常,我只得到
{'d',3)
换了,或者我两个都换了
{'c',2)
和
{'d',3)
系统版本:3.6.5(v3.6.5:f59c0932b4,2018年3月28日,17:00:18)[MSC
v、 1900 64位(AMD64)]