python中我們可以對list、tuple、dict或其他可迭代的物件進行迭代從而遍歷取出各個元素。
如何判斷一個物件是不是一個可迭代物件
判斷一個物件是不是可迭代物件可以使用isinstance判斷是否為collections模組的Iterable型別。
例如:
from collections import Iterable isinstance('hello world',Iterable) # True isinstance([1,2,3,4],Iterable) #True isinstance(231,Iterable) #False
List tuple string 循環
fruits = ['apple','banana','peal','water melon'] for fruit in fruits: print fruit
迭代的時候,在獲取的值的同時,又想獲取到下標,該怎麼做?
我們可以利用python中內建函數enumerate()函數將list、tuple、string等組裝成一個帶有索引的enumerate object。
for index,fruit in enumerate(fruits): print index,fruit
Dict 迭代
Dict字典本身帶有key和value。
利用for...in...迭代的時候,預設是key迭代。
Dict 迭代 Dict字典本身带有key和value。 利用for...in...迭代的时候,默认是key迭代。
輸出結果將是:
banana apple peal
那麼該如果讓它是value迭代呢?
我們可以使用字典自身的itervalues函數。
for value in d.itervalues(): print value
在迭代的時候我們既想要key又想要value,該怎麼辦?
for key,value in d.iteritems(): print key,value