python学习笔记-迭代

发布时间:2019-10-11 09:01:37编辑:auto阅读(2097)

    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迭代。

    d = {'banana':20,'apple':30,'peal':40}
    for key in d:
        print key

    输出结果将是:

    banana
    apple
    peal

    那么该如果让它是value迭代呢?

    我们可以使用字典自身的itervalues函数。

    for value in d.itervalues():
        print value

    在迭代的时候我们既想要key又想要value,该怎么办?

    for key,value in d.iteritems():
        print key,value

    说明
    在python3.x版本中,itervalues(),iterkeys(),iteritems()函数都被新的函数取代。需要了解的可以阅读http://www.jb51.net/article/6...了解。

关键字