Warum gibt dieser Python-Generator jedes Mal den gleichen Wert zurück?
Hier ist mein Generator:
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 die Ausgabe, wenn ich es nenne:
>>> 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ühre, erhalte ich etwas anderes als[2, 0]
(wegennp.random
call), aber der gleiche Wert in alleny
.