Hier ist mein Generator:Warum gibt dieser Python-Generator jedes Mal den gleichen Wert zurück?
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
Und hier ist der Ausgang, wenn ich es nennen:
>>> 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]]
Wenn ich die Anweisung erneut ausführen, ich etwas anderes als [2, 0]
(wegen np.random
Anruf) erhalten, aber der gleiche Wert in allen y
.