python中迭代器的内部工作
当我们把一个iter(obj)称为iterable(列表1)时,我有一个问题。它返回一个迭代器对象。当我们调用这个迭代器对象上的下一个方法时,它一次返回一个下一个值。我的问题是迭代器对象(iter_obj)是否包含数据(在我们运行iter方法之后)并一次输出一个值,还是在运行下一个(方法)时引用/使用iterable(list_1) 您的第二个假设(迭代器包含对列表的引用)是真的 如果您查看iter对象的属性,您将看到它正好包含两个属性:python中迭代器的内部工作,python,Python,当我们把一个iter(obj)称为iterable(列表1)时,我有一个问题。它返回一个迭代器对象。当我们调用这个迭代器对象上的下一个方法时,它一次返回一个下一个值。我的问题是迭代器对象(iter_obj)是否包含数据(在我们运行iter方法之后)并一次输出一个值,还是在运行下一个(方法)时引用/使用iterable(list_1) 您的第二个假设(迭代器包含对列表的引用)是真的 如果您查看iter对象的属性,您将看到它正好包含两个属性: it_index:iter()返回的下一个对象的序列i
:iter()返回的下一个对象的序列it_index
中的索引it_seq
:应迭代的序列(在您的案例中为it_seq
)列表_1
:iter()返回的下一个对象的序列it_index
中的索引it_seq
:应迭代的序列(在您的案例中为it_seq
)列表_1
list_1=[1,2,3,4]
iter_obj=iter(list_1)
next(iter_obj)