python语言编程中迭代器,python实现迭代器
我们在处理编程问题时,为了方便遍历而创建迭代器,但是使用迭代器并不能解决查询元素的下标问题。两者不可兼得,但同时又要实现两种功能。这时,枚举函数就诞生了。一般来说,一个新的迭代器是通过枚举实现的,在函数的使用上兼顾了迭代器和下标。接下来,我们来看看用enumerate创建新迭代器的具体方法。
首先,介绍了枚举函数。在我们日常编程的过程中,经常会遇到一个问题。
C语言和一些古代语言中没有迭代器的概念,所以当我们要遍历数组或容器时,只能使用下标。有了迭代器,我们的遍历过程就方便多了。我们可以用一个变量直接迭代容器中的值。最简单的例子是数组的遍历。例如,我们必须遍历数组项。我们可以直接:
foriteminitems:
通过迭代器,我们可以很容易地遍历数组,不再需要下标,也不需要计算数组的长度。但是如果我们需要知道循环中元素的下标呢?
我们真的只能在下标和迭代器之间选择吗,比如在循环外增加一个变量来记录下标?
idx=0
foriteminitems:
操作()
idx=1
这样可以解决问题,但是很麻烦,一点也不简洁,用专业术语来说也不是Python(Python兼容代码)。在pythonic中,有enumerate函数。
用法示例
c=[bfora,binenumerate(11100101)ifb!=0]
打印(镜头(c))
打印结果:
五
默认情况下,Enumerate(sequence,[start=0])从0开始。
示例=((abcd , efgh ))
fori,jinenumerate(例如,start=1):
打印(I,j)
打印结果是:
1abcd
2efgh
这就是我们如何使用枚举函数创建一个新的迭代器。同时我们讲了枚举的起源和简单用法,但是还没有完全掌握。你可以再看看上面的代码。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。