|
|
1
2
print语句在特定时间点显示列表。您的代码在运行列表时会对其进行更改,因此当您在末尾检查该列表时,就会看到它的值。 您可以通过以下步骤观察到这一点:
|
|
|
2
2
我猜你是在改变数组,所以当你打印它时,它有一个特定的值,下一次打印它时,它实际上已经更新了这个值,等等。最后,您有5个对同一数组的引用,所以当然您有5次相同的值。 |
|
|
3
2
列表是可变的对象,如果传入一个列表,并且生成器在该列表上执行就地操作,那么最后对该列表的所有引用都将指向同一个列表。 |
|
|
4
0
print和yield语句是不同的,因为只有一个print语句,而有两个yield。试试这个:
你会发现最后的收益率是你的答案,因为你一直在传递相同的列表,而不是复制。 |