У меня есть генератор, определенный следующим образом:
def gen():
r = [0]
yield r
r[0] = 1
yield r
r[0] = 2
yield r
он выдаст три списка одного элемента с 0 по 2:
>>> a = gen()
>>> next(a)
[0]
>>> next(a)
[1]
>>> next(a)
[2]
>>> next(a)
Traceback (most recent call last):
File "<pyshell#313>", line 1, in <module>
next(a)
StopIteration
Теперь, когда я иду, чтобы сделатьсписок из генератора, я получил это:
>>> list(gen())
[[2], [2], [2]]
То есть, похоже, каждый раз выдает самое последнее вычисленное значение.
Это ошибка Python или я что-то упустил