Oto mój generator:Dlaczego ten generator python zwraca tę samą wartość za każdym razem?
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
I tu jest wyjście, gdy nazywam go:
>>> 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]]
Gdybym ponownie wykonać instrukcję, mam coś innego niż [2, 0]
(ze względu na np.random
call), ale ta sama wartość we wszystkich y
.