zoukankan      html  css  js  c++  java
  • python中enumerate的使用

    在python的应用中,当我们使用一个数组或者列表的时候既要遍历索引又要遍历元素的时候通常的做法是这样的:

    >>> lsi = [1,2,3,4,5,6,7,8,9]
    >>> lsi
    [1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> for i in range(0,len(lsi)):
    ...     print i ,lsi[i]
    ... 
    0 1
    1 2
    2 3
    3 4
    4 5
    5 6
    6 7
    7 8
    8 9
    >>> 

    使用 内置enumerrate函数会有更加直接,优美的做法,先看看enumerate的定义:

    def enumerate (collection ): 
        'Generates an indexed series:  (0,coll[0]), (1,coll[1]) ...'       
         i = 0 
         it = iter (collection ) 
         while 1 : 
         yield (i , it . next ()) 
         i += 1 

    enumerate会将数组或列表组成一个索引序列。使我们在获取索引和索引内容的时候更加方便。

    演示如下:

    >>> list
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 41, 56]
    >>> for index,text in enumerate(list):
    ...     print index , text
    ... 
    0 1
    1 2
    2 3
    3 4
    4 5
    5 6
    6 7
    7 8
    8 9
    9 41
    10 56
    >>> 

    在 cookbook里介绍,如果你要计算文件的行数,可以这样写:

    count = len (open (thefilepath , ‘ rU ’ ). readlines ())

    前面这种方法简单,但是可能比 较慢,当文件比较大时甚至不能工作,下面这种循环读取的方法更合适些。

    Count = - 1 
    For count , line in enumerate (open (thefilepath , ‘ rU ’ )): 
        Pass 
    Count += 1
  • 相关阅读:
    第十三周总结
    第十二周作业
    第十一周课程总结
    第十周课程总结
    第九周课程总结&实验报告(七)
    第八周课程总结&实验报告(六)
    第七周课程总结&实验报告(五)
    第六周&java实验报告四
    课程总结
    第二周课程总结
  • 原文地址:https://www.cnblogs.com/blogofwyl/p/4317949.html
Copyright © 2011-2022 走看看