朋友们,如需转载请标明出处: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')
|