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
登录后复制