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
  • 相关阅读:
    html之marquee详解
    委托delegate
    sql server 循环
    数据库可疑
    WP8数据存储--独立存储文件
    WP8数据存储--独立存储设置
    jQuery Mobile 自定义导航条图标
    JQuery Mobile 图片布局
    自定义jQuery Mobile工具栏按钮
    css透明度的设置 (兼容所有浏览器)
  • 原文地址:https://www.cnblogs.com/blogofwyl/p/4317949.html
Copyright © 2011-2022 走看看