Ecco il mio generatore:Perché questo generatore python restituisce sempre lo stesso valore?
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
Ed ecco l'output, quando lo chiamo io:
>>> 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]]
Se eseguo nuovamente l'istruzione, ho qualcosa di diverso [2, 0]
(a causa di np.random
chiamata), ma lo stesso valore in tutto .