python系列教程156——enumerate函数

Posted 人工智能AI技术

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python系列教程156——enumerate函数相关的知识,希望对你有一定的参考价值。

朋友们,如需转载请标明出处:https://blog.csdn.net/jiangjunshow

声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知识更好地理解AI技术,我让助理负责分享这套python系列教程,希望能帮到大家!由于这套python教程不是由我所写,所以不如我的AI技术教学风趣幽默,学起来比较枯燥;但它的知识点还是讲到位的了,也值得阅读!想要学习AI技术的同学可以点击跳转到我的教学网站。PS:看不懂本篇文章的同学请先看前面的文章,循序渐进每天学一点就不会觉得难了!

之前,我们学习过通过range来产生字符串中元素的偏移值,而不是那些偏移值处的元素。不过,在有些程序中,我们两者都需要:要用到元素以及这个元素的偏移值。我们可以用下面过时的方式来实现这个需求。

>>> S = 'spam'

>>> offset = 0

>>> for item in S:

...     print(item,'appears at offset',offset)

...     offset += 1

...

s appears at offset 0

p appears at offset 1

a appears at offset 2

m appears at offset 3

但在最近更新的Python版本中,有个新的内置函数,名为enumerate,可以为我们轻松地做这件事。

>>> S = 'spam'

>>> for (offset,item) in enumerate(S):

...     print(item,'appears at offset',offset)

...

s appears at offset 0

p appears at offset 1

a appears at offset 2

m appears at offset 3

enumerate函数返回一个生成器对象,这个对象有一个__next__方法,由下一个内置函数调用它,并且循环中每次迭代的时候它会返回一个(index,value)的元组 :

>>> E = enumerate(S)

>>> E

<enumerate object at 0x02765AA8>

>>> next(E)

(0,'s')

>>> next(E)

(1,'p')

>>> next(E)

(2,'a')

以上是关于python系列教程156——enumerate函数的主要内容,如果未能解决你的问题,请参考以下文章

超简单的Python教程系列——第8篇:迭代工具

Go 系列教程 —— 15. 指针

Java学习系列第3课--Java 高级教程

Java 集合系列18之 Iterator和Enumeration比较

Python开发(基础):常用函数

Swift新手教程系列5-函数+selector在swift中的使用方法