• 技术文章 >Python技术 >Python基础教程

    一文搞定Python的enumerate函数

    silencementsilencement2019-07-23 15:17:31原创2632

    enumerate函数用于遍历序列中的元素以及它们的下标。

    enumerate函数说明:

    函数原型:

    enumerate(sequence, [start=0])

    功能:将可循环序列sequence以start开始分别列出序列数据和数据下标

    即对一个可遍历的数据对象(如列表、元组或字符串),enumerate会将该数据对象组合为一个索引序列,同时列出数据和数据下标。

    举例说明:

    存在一个sequence,对其使用enumerate将会得到如下结果:

    start        sequence[0]
    start+1  sequence[1]
    start+2    sequence[2]......

    适用版本:

    Python2.3+
    Python2.x

    注意:在python2.6以后新增了start参数

    英文解释:

    Return an enumerate object. sequence must be a sequence, an iterator, or some other object which supports iteration. 
    The next() method of the iterator returned by enumerate() returns a tuple containing a count (from start which defaults
     to 0) and the values obtained from iterating over sequence。

    代码实例:

    enumerate参数为可遍历的变量,如 字符串,列表等; 返回值为enumerate类。

    import string
    s = string.ascii_lowercase
    e = enumerate(s)
    print s
    print list(e)

    输出为:

    abcdefghij
    [(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd'), (4, 'e'), (5, 'f'), (6, 'g'), (7, 'h'), (8, 'i'), (9, 'j')]

    在同时需要index和value值的时候可以使用 enumerate。

    该实例中,line 是个 string 包含 0 和 1,要把1都找出来:

    def xread_line(line):
      return((idx,int(val)) for idx, val in enumerate(line) if val != '0')
    print read_line('0001110101')
    print list(xread_line('0001110101'))
    专题推荐:enumerate
    上一篇:详解Python内建函数map()和reduce() 下一篇:判断python字典中key是否存在的两种方法

    相关文章推荐

    • 详解python中函数的参数传递• python处理Excel的方法之xlrd

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网