Python数据整理
上QQ阅读APP看书,第一时间看更新

2.2.1 迭代器

我们将从列表开始这个主题。不过,在进入列表之前,我们先介绍迭代器的概念。迭代器是实现next方法的对象,这意味着迭代器是可以在collection(列表、元组、字典等)上迭代的对象。它是有状态的,这意味着每次调用next方法时,它都会给我们collection中的下一个元素。如果没有其他元素,则会引发StopIteration异常。

说明

StopIteration异常发生于迭代器的next方法中没有其他的值需要迭代时。

如果你熟悉诸如C、C++、Java、JavaScript或PHP这样的编程语言,你可能已经注意到在这些编程语言中实现for循环之间的区别,它包括三个不同的部分,确切地说是启动、增量和终止条件。在Python中,我们使用的for循环不一样,它更像是foreach循环:for i in list_1。这是因为for循环在后台使用迭代器,因此我们不需要执行所有额外的步骤,迭代器会替我们执行。