迭代(Iterable):
定義:如果給定一個(gè)list或tuple,可以用for循環(huán)來遍歷這個(gè)list或tuple,這種遍歷稱為迭代
與C宪巨、Java的區(qū)別:python的迭代是高度抽象的镜撩,只要是可迭代對(duì)象,都可以進(jìn)行迭代,而C和Java只能夠迭代有下標(biāo)的對(duì)象。
python可迭代的對(duì)象:list猖凛、tuple、dict绪穆、字符串、生成器(generator)
注意:整數(shù)不可迭代(整形)
默認(rèn)情況下虱岂,dict迭代的是key玖院。可以用isinstance()函數(shù)來驗(yàn)證:isinstance(123, Iterable)
如果要迭代value第岖,可以用for value in d.values()难菌,
如果要同時(shí)迭代key和value,可以用for k, v in d.items()蔑滓。
如果要對(duì)list實(shí)現(xiàn)類似Java那樣的下標(biāo)循環(huán)郊酒,同時(shí)迭代索引和元素,可以使用enumerate函數(shù)键袱。
enumerate函數(shù)可以把一個(gè)list變成索引-元素對(duì)燎窘,這樣就可以在for循環(huán)中同時(shí)迭代索引和元素本身:
假如一個(gè)list中內(nèi)嵌tuple,也可以將tuple迭代出來: