zoukankan      html  css  js  c++  java
  • Python中enumerate用法详解

     

    enumerate()是python的内置函数、适用于python2.x和python3.x
    enumerate在字典上是枚举、列举的意思
    enumerate参数为可遍历/可迭代的对象(如列表、字符串)
    enumerate多用于在for循环中得到计数,利用它可以同时获得索引和值,即需要index和value值的时候可以使用enumerate
    enumerate()返回的是一个enumerate对象

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

    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
    复制代码

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

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

    ==========================

    嵌套应用:

    names = ['关羽', '张飞', '赵云', '马超', '黄忠']
    courses = ['语文', '数学', '英语']
    # 录入五个学生三门课程的成绩
    # 错误 - 参考http://pythontutor.com/visualize.html#mode=edit
    # scores = [[None] * len(courses)] * len(names)
    scores = [[None] * len(courses) for _ in range(len(names))]
    for row, name in enumerate(names):
        for col, course in enumerate(courses):
            scores[row][col] = float(input(f'请输入{name}的{course}成绩: '))
    print(scores)
    

      

    
    
  • 相关阅读:
    oracle sql日期比较
    rlwrap真是一个好东西
    Dataguard 归档丢失处理
    oracle latch工作原理
    Latch free等待事件
    Redhat Enterprise Linux 5 安装 Oracle 10g release 2
    oracle 日期问题
    Oracle自动存储管理 ASMLib的支持变化
    [官方文档] oracle官方文档总汇(9i,10g,11gR1, 11gR2)
    实时分布式搜索引擎比较(senseidb、Solr、elasticsearch)
  • 原文地址:https://www.cnblogs.com/peterwong666/p/11051971.html
Copyright © 2011-2022 走看看