我想要创建一个返回数组的动态生成器。例如:使用numpy数组的Python生成器
import numpy as np
def my_gen():
c = np.ones(5)
j = 0
t = 10
while j < t:
c[0] = j
yield c
j += 1
用一个简单的循环:
for g in my_gen():
print (g)
我得到了我想要的东西。但与list(my_gen())
,我得到了一个列表,其中总是包含相同的东西。
我挖得更深一些,我发现,当我yield c.tolist()
代替yield c
,一切都OK了...
我只是无法解释自己是如何来到这个奇怪的现象...
太棒了!谢谢你的回答:) – XXXXXL