我正在使用发电机功能,说:
def foo():
i=0
while (i<10):
i+=1
yield i
Run Code Online (Sandbox Code Playgroud)
现在,我希望选择在任意次数的迭代后复制生成器,以便新副本将保留内部状态(在示例中将具有相同的"i"),但现在将独立于原始状态(即迭代)副本不应该改变原来的).
我尝试过使用copy.deepcopy但是我得到了错误:
"TypeError: object.__new__(generator) is not safe, use generator.__new__()"
Run Code Online (Sandbox Code Playgroud)
显然,我可以使用带有计数器的常规函数来解决这个问题.但我真的在寻找使用发电机的解决方案.