Почему этот генератор Python каждый раз возвращает одно и то же значение?
Вот мой генератор:
import numpy as np
def fun():
state = [1, 2]
for i in range(10):
for j, var in enumerate(state):
next_st = np.random.randint(0, 3)
state[j] = next_st
yield state
И вот вывод, когда я это называю:
>>> g = fun(); y = [x for x in g]; y
[[2, 0],
[2, 0],
[2, 0],
[2, 0],
[2, 0],
[2, 0],
[2, 0],
[2, 0],
[2, 0],
[2, 0]]
Если я выполню заявление снова, я получу что-то другое[2, 0]
(из-заnp.random
вызов), но одинаковое значение во всехy
.