美文网首页Python专题
enumerate()----如何在for循环同时取出索引与值

enumerate()----如何在for循环同时取出索引与值

作者: 右哼哼丨左哼哼 | 来源:发表于2018-03-19 11:00 被阅读81次

    描述

    enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

    语法

    以下是 enumerate() 方法的语法:
    enumerate(sequence, [start=0])

    参数

    sequence -- 一个序列、迭代器或其他支持迭代对象。
    start -- 下标起始位置。

    返回值

    返回 enumerate(枚举) 对象。


    实例

    以下展示了使用 enumerate() 方法的实例:

    >>>seasons = ['Spring', 'Summer', 'Fall', 'Winter']
    >>>list(enumerate(seasons))
    [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
    >>>list(enumerate(seasons, start=1))       # 小标从 1 开始
    [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
    

    普通的for循环:

    >>>i = 0
    >>>seq = ['one', 'two', 'three']
    >>>for element in seq:
    ...    print(i, seq[I])
    ...    i += 1
    ... 
    0 one
    1 two
    2 three
    

    for 循环使用 enumerate():

    >>>seq = ['one', 'two', 'three']
    >>>for i, element in enumerate(seq):
    ...    print(i, seq[I])
    ... 
    0 one
    1 two
    2 three
    >>>
    

    补充

    如果要统计文件的行数,可以这样写:

    count = len(open(filepath, 'r').readlines())
    

    这种方法简单,但是可能比较慢,当文件比较大时甚至不能工作。
    可以利用enumerate():

    count = 0
    filepath = '/Users/xxx/Documents/pythonX/123.txt'
    for index, line in enumerate(open(filepath,'r')):
        count += 1
    print(count)
    
    图片1.png
    附:pycharm美化pycharm----速成手册

    参考链接:

    [1] Python3 enumerate() 函数
    [2] python enumerate用法总结-竹聿Simon
    大家如若有兴趣,欢迎朋友,可以加交流群:692-858-412一起学习

    相关文章

      网友评论

        本文标题:enumerate()----如何在for循环同时取出索引与值

        本文链接:https://www.haomeiwen.com/subject/jtpuqftx.html