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

    如何使用python3代码创建迭代器?

    小妮浅浅小妮浅浅2020-12-02 15:03:01原创1847

    我们在处理编程问题的时候,为了遍历的方便所以创造了迭代器,但是使用无法解决查询元素的下标问题。在二者之间不能兼得,但同时这两种功能我们都是要实现的,在这个时候,enumerate函数就诞生了。通俗的来讲,通过enumerate实现的是一个新的迭代器,在功能的使用上兼顾了迭代器和下标,接下来我们看看具体用enumerate建立新迭代器的方法。

    首先介绍的是enumerate函数。在我们日常编程的过程当中,经常会遇到一个问题。

    C语言以及一些古老的语言当中是没有迭代器这个概念的,所以我们要遍历数组或者是容器的时候,往往只能通过下标。有了迭代器之后,我们遍历的过程方便了很多,我们可以直接用一个变量去迭代一个容器当中的值。最简单的例子就是数组的遍历,比如我们要遍历items这个数组。我们可以直接:

    for item in items:


    通过迭代器的方式我们可以很轻松地遍历数组,而不再需要下标,也不需要计算数组的长度了。但是如果我们在循环体当中需要知道元素的下标该怎么办?

    难道我们真的只能在下标和迭代器当中选择一个吗,比如在循环体的外面添加一个变量来记录下标?

    idx = 0
    for item in items:
        operation()
        idx += 1


    这样可以解决问题,但是很麻烦,一点也不简洁,用专业的话来说一点也不pythonic(符合Python标准的代码)。为了追求pythonic,于是有了enumerate函数。

    用法举例

    c = [b for a,b in enumerate('11100101') if b != '0']
    print(len(c))
    打印结果:
    5


    enumerate(sequence,[start=0]) 默认是从0开始

    example = (('abcd','efgh'))
    for i,j in enumerate(example,start=1):
        print(i,j)
    打印结果为:
    1 abcd
    2 efgh


    以上就是我们用enumerate函数来创造新的迭代器的方法,同时讲了一下enumerate的由来和简单的使用,还没有完全掌握的小伙伴,可以再多看看上面的代码。

    专题推荐:python3代码
    上一篇:如何不用循环语句实现python3字符串代码? 下一篇:python3代码之怎样用dir查看对象属性?

    相关文章推荐

    • python3代码如何自动补全?• python3.9中字典合并操作• python3代码中函数切割列表怎么实现?• 怎么用python3代码检查回文序列?• python3代码怎样用字典进行数学运算?

    全部评论我要评论

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

  • 取消发布评论
  • 

    Python学习网