python迭代

高洛峰
高洛峰original
2016-11-19 16:27:221376parcourir

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


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:python列表生成器Article suivant:Python input 使用