码迷,mamicode.com
首页 > 其他好文 > 详细

迭代器

时间:2018-10-15 12:02:28      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:stop   max   top   调用   print   文件   对象   字典   元组   

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

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

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

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

迭代器

标签:stop   max   top   调用   print   文件   对象   字典   元组   

原文地址:https://www.cnblogs.com/chrrydot/p/9789340.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!