Python中迭代器的内部工作

Chyanit Singh

当我们在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)
1997年

您的第二个假设(迭代器包含对列表的引用)是正确的。

如果查看iter对象C源代码,您会发现它恰好包含两个属性:

  • it_indexìt_seq下一个对象序列的索引,该对象应由返回iter()
  • it_seqlist_1应重复的序列(在您的情况下

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章