zoukankan      html  css  js  c++  java
  • python之迭代

    1.何为迭代:

    对于给定list或者tuple,通过for循环来遍历这个list或tuple,这种遍历我们称之为迭代(Iteration).

    2.python中利用for...in语句来完成迭代语句:

    (1)迭代list:

    使用for...in语句迭代list时,是通过下标完成的,迭代tuple类似

    >>>months=['January','February','March']
    >>>for i in range(len(months)):
           print(months[i])
    January
    February
    March

    (2)迭代dict:

    首先明确,list这种数据类型是有下标的,但是像dict这种没有没有下标的数据类型,同样是可以进行迭代的,只要该数据类型是可迭代对象,比如就迭代dict的方法如下:

    >>>d = {'小明':0,'小红':65,'小兰':88}
    >>>for key in d:
           print(key)
    -------------------------------------------------------------------------------- 小明 小兰 小红

    注意:a.因为dict的存储不是按照list的方式顺序排列,所以,迭代出的结果顺序很可能不一样。

              b.dict迭代,在默认情况下迭代的key,如果想要迭代value可以用for value in d.values(),

                 如果要同时迭代key和value,可以用for k, v in d.items()

    迭代value情况:

    >>>d = {'小明':0,'小红':65,'小兰':88}
    >>>for value  in d.values():
           print(value)
    -----------------------------------------------------------------------------------
    65
    0
    88

    同时迭代key和value情况:

    >>>d = {'小明':0,'小红':65,'小兰':88}
    >>>for k, v  in d.items():
           print(k,v)
    -----------------------------------------------------------------------------------
    小明 0
    小红 65
    小兰 88

    (3)迭代字符串

    因为字符串也是可迭代对象,因此我们可以对字符串进行迭代:

    >>>for ch in 'ABC':
           print(ch)
    -------------------------------------------------------------------------------------
    A
    B
    C

    3.利用collections模块的Iterable类型判断一个对象是否是可迭代对象

    通常我们使用for循环时,只要这个对象是可迭代对象,for循环就能正常运行,而不用去管这个对象的是哪种数据类型的,但是我们怎么才能知道这个对象是否是可迭代对象呢,这就需要我们自己去判断了,方法是通过collections模块的Iterable类型判断

    >>> from collections import Iterable
    >>> isinstance('abc', Iterable) # str是否可迭代
    True
    >>> isinstance([1,2,3], Iterable) # list是否可迭代
    True
    >>> isinstance(123, Iterable) # 整数是否可迭代
    False

    4.使用python内置函数enumerate函数同时迭代list索引及元素本身

    >>>for i, value in enumerate(['January','February','March']):
               print(i,value)
    
    ----------------------------------------------------------------------------
    0 January
    1 February
    2 March

    ps:上述的for循环语句,引用了两个变量,这在python中是很常见的,例:

    >>> for x, y in [(1, 2), (2, 4), (3, 8)]:
    ...     print(x, y)
    ...
    ---------------------------------------------------------------
    1 2
    2 4
    3 8

      

  • 相关阅读:
    图片点击后直接下载
    输入网址到页面呈现,以及首屏加载
    RESTful
    html语义化标签
    git 初学解决错误
    爬虫
    Scrapy安转遇到问题
    前端补充
    django-ORM
    django-web聊天
  • 原文地址:https://www.cnblogs.com/ilym/p/8424156.html
Copyright © 2011-2022 走看看