迭代器

Posted chrrydot

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了迭代器相关的知识,希望对你有一定的参考价值。

  1. 迭代器协议:对象必须提供一个next方法,执行改方法要么返回迭代中的下一项,要么就引起一个stopiteration异常,以终止迭代(只能外后走不能往前退)
  2. 可迭代对象:实现了迭代器协议的对象,以下不是迭代器对象(字符串、列表、元组、字典、集合、文件对象)
  3. 协议的一种约定:可迭代对象实现了迭代器协议,python的内部工具(sum、min、max)使用迭代器协议访问对象

for循环本质,将列表类通过__iter__()方法变成迭代器对象,然后调用迭代器对象的__next__()遍历
列表迭代器和索引方式访问比较

l = [‘1‘,‘22‘,‘33as‘]
print(l[0]    #索引

print(l.__iter__().__next__())   #迭代器

以上是关于迭代器的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段6——CSS选择器

行历史查看器 - Git

持久片段和查看器

损坏的顶点和片段着色器

python使用上下文对代码片段进行计时,非装饰器

设计模式迭代器模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )