Почему этот генератор 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.

Ответы на вопрос(2)

Ваш ответ на вопрос