当我们在iterable(list_1)上调用iter(obj)时,我有一个问题。它返回一个迭代器对象。当我们在此迭代器对象上调用next方法时,它一次返回一个下一个值。我的问题是迭代器对象(iter_obj)是否包含数据(在我们运行iter方法之后),并且一次打印出一个值,还是在运行next(method)时引用/使用iterable(list_1)
list_1=[1,2,3,4]
iter_obj=iter(list_1)
next(iter_obj)
您的第二个假设(迭代器包含对列表的引用)是正确的。
如果查看iter对象的C源代码,您会发现它恰好包含两个属性:
it_index
:ìt_seq
下一个对象序列中的索引,该对象应由返回iter()
it_seq
:list_1
应重复的序列(在您的情况下)本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句