zoukankan      html  css  js  c++  java
  • Python 遍历enumerate()

    Python中常见的序列主要有列表(list)、元组(tuple)和字符串(string)。关对于序列的遍历,Python推荐的是for…in…sequence语句做成员测试,这个语句其实和for…in…range()一样是按照索引顺序遍历的,但是用in语句的话不能直接使用索引值。

    在实际应用中,遍历经常也要用到索引值,比如计数,统计进度等等。用range的话怎么看着都麻烦,其实可以使用enumerate()函数。

    enumerate的意思是列举、枚举。

    enumerate()函数时Python的内置函数。
    原理分析
    基本用法

    s = [2,5,8,3,6,9]
    for i in enumerate(s):
        print i
    
        1
        2
        3

    结果为:

    (0, 2)
    (1, 5)
    (2, 8)
    (3, 3)
    (4, 6)
    (5, 9)

    按照一般的序列迭代方法,可以看出enumerate()函数的返回值是一个元组,元组构成为(index, value),也就是序列索引和值的元组。
    第二可选参数,解决索引从0开始输出的问题

    enumerate()有两个参数序列和起始索引。
    即enumerate(sequence , index)

    s = [2,5,8,3,6,9]
    for i in enumerate(s, 1):
        print i

    结果为:

    (1, 2)
    (2, 5)
    (3, 8)
    (4, 3)
    (5, 6)
    (6, 9)

    这样就解决了索引从0开始,而我们习惯从1开始输出的问题。
    示例

    下面以常见的序列,列表、元组、字符串为例简单说明enumerate()的使用方法。
    示例1 列表

    s = [2,5,8,3,6,9]
    for index, value in enumerate(s):
        print index, value

    结果为:

    0 2
    1 5
    2 8
    3 3
    4 6
    5 9

    示例2 元组

    s = (2,5,8,3,6,9)
    for index, value in enumerate(s):
        print index, value

    结果为:

    0 2
    1 5
    2 8
    3 3
    4 6
    5 9

    示例3 字符串

    s = 'test'
    for index, value in enumerate(s):
        print index, value

    结果为:

    0 t
    1 e
    2 s

    转自:

  • 相关阅读:
    spring+mybatis多数据源切换
    【linux环境下】RabbitMq的安装和监控插件安装
    Slurm远程登录Jupyter Notebook
    Google Colab 使用
    关于conda和jupyter使用
    关于给C盘扩容以及动态磁盘
    关于使用实验室服务器的GPU以及跑上TensorFlow代码
    一些更改的后端接口和代码
    MarkDown to PDF
    蜗牛慢慢爬 LeetCode 25. Reverse Nodes in k-Group [Difficulty: Hard]
  • 原文地址:https://www.cnblogs.com/tylf-lk/p/10133489.html
Copyright © 2011-2022 走看看