在python中,構成可叠代對象的要素有:字符串、列表、元組、字典、集合等。
可以對list、tuple、dict、set、str等類型的數據使用for...in...的循環語法從其中依次拿到數據進行使用,把這樣的過程稱為遍歷,也叫叠代。把可以通過for...in...這類語句叠代讀取壹條數據供我們使用的對象稱之為可叠代對象(Iterable)。
可叠代對象通過iter方法向我們提供壹個叠代器,在叠代壹個可叠代對象的時候,實際上就是先獲取該對象提供的壹個叠代器,然後通過這個叠代器來依次獲取對象中的每壹個數據。那麽也就是說,壹個具備了iter方法的對象,就是壹個可叠代對象。
叠代器的特點
對於叠代器,如果只想獲得下壹個元素而不是遍歷,可以調用next方法而實現,不過,我們往往不會直接調用Python中的特殊方法,內建函數next可以幫助我們獲取叠代器的下壹個元素,next在內部會調用叠代器的next方法。
同時,需要註意,叠代器只能叠代壹輪,也就是說,如果容器中已經沒有可用的元素,則叠代器就不能再次使用了(再次調用next函數獲取下壹個元素會產生異常),如果想要重新進行叠代,需要再次調用iter函數獲取壹個新的叠代器對象。