zoukankan      html  css  js  c++  java
  • python3 内置函数enumerate

    一、简介:
        该函数在字面上是枚举、列举的意思,用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,
      同时列出数据和数据下标,一般用在 for 循环当中,可同时得到数据对象的值及对应的索引值。如对于下面的例子:
      
      enumerate参数为可遍历/可迭代的对象(如列表、字符串)
    enumerate多用于在for循环中得到计数,利用它可以同时获得索引和值,即需要index和value值的时候可以使用enumerate

    enumerate()返回的是一个enumerate对象

    >>> lst = [1, 2, 3, 4, 10, 5]
    >>> enumerate(lst)
    <enumerate object at 0x00000000032A3990>

    二、 语法:
      enumerate(iterable,start)
      iterable:可迭代对象(列表、元祖、字典、迭代器、字符串等)
      stat:索引序列的起始值

    注意:此内置函数常用语for循环

    三、enumerate的使用:
    例如:已知lst = [1,2,3,4,5,6],要求输出:
    0,1
    1,2
    2,3
    3,4
    4,5
    5,6

    复制代码
    复制代码
    >>> lst = [1,2,3,4,5,6]
    >>> for index,value in enumerate(lst):
      print ('%s,%s' % (index,value))
      
    0,1
    1,2
    2,3
    3,4
    4,5
    5,6
    复制代码
    复制代码
    复制代码
    复制代码
    #指定索引从1开始
    >>> lst = [1,2,3,4,5,6]
    >>> for index,value in enumerate(lst,1):
    print ('%s,%s' % (index,value))
    
    1,1
    2,2
    3,3
    4,4
    5,5
    6,6
    
    #指定索引从3开始
    >>> for index,value in enumerate(lst,3):
    print ('%s,%s' % (index,value))
    
    3,1
    4,2
    5,3
    6,4
    7,5
    8,6
    复制代码
    复制代码

      实例2:

    复制代码
     1 b = ['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday']
     2 for index,i in enumerate(b,1):
     3     print("星期%d:%s"%(index,i))
     4 
     5 # 星期1:Monday
     6 # 星期2:Tuesday
     7 # 星期3:Wednesday
     8 # 星期4:Thursday
     9 # 星期5:Friday
    10 # 星期6:Saturday
    11 # 星期7:Sunday
    复制代码
     

    补充:
    如果要统计文件的行数,可以这样写:
    count = len(open(filepath, 'r').readlines())
    这种方法简单,但是可能比较慢,当文件比较大时甚至不能工作。

    可以利用enumerate():
    count = 0
    for index, line in enumerate(open(filepath,'r')): 
       count += 1



  • 相关阅读:
    IOCP六:UDP 客户端退出
    IOCP六:UDP 客户端退出
    IOCP五:UDP线程退出
    IOCP五:UDP线程退出
    IOCP四:己方closesocket
    IOCP四:己方closesocket
    深入剖析多态,什么是多态?多态有什么用?
    SSM框架jsp无法从webapp下跳转到WEB-INF下的jsp;偶尔进去了也无法加载jsp的静态资源
    一句话理解什么是“聚合”,什么是“组合”
    Jsp+Servlet+JDBC实现ATM机系统
  • 原文地址:https://www.cnblogs.com/aliceyang/p/11935232.html
Copyright © 2011-2022 走看看