首页 > 编程知识 正文

python生成器和迭代器理解,迭代器iterator和listiterator

时间:2023-05-05 09:23:38 阅读:236726 作者:4153

迭代器 Iterator

    什么是迭代器
        迭代器是访问可迭代对象的工具
        迭代器是指用iter(obj)函数返回的对象(实例)
        迭代器是指用next(it)函数获取可迭代对象的数据
    迭代器函数(iter和next)
        iter(iterable)从可迭代对象中返回一个迭代器,iterable必须是能提供一个迭代器的对象
        next(iterator) 从迭代器iterator中获取下一了记录,如果无法获取下一条记录,则触发stoptrerator异常
        说明:
            1.迭代器只能往前取值,不会后退
            2.用iter函数可以返回一个可迭代对象的迭代器
        示例:
         

  l = [1,3,5,7]   it = iter(1) #让l提供一个能访问自己的迭代器   next(it) #1  从迭代器中取值,让迭代器去获取l中的一个元素   next(it) #3   next(it) #5   next(it) #7   next(it) # StopIterable 异常

    迭代器的用途:
        用迭代器可以依次访问可迭代对象的数据
    示例:
  

  #以下用迭代器来访问l列表中的元素  l = [2,3,5,7]  it = iter(l)  while True:      try:          x = next(it) #获取一个数据并绑定到x          print(x) #2,3,5,7  except StopIteration:      pass

     
    练习:
        有一个集合:
            s = {'zjdqz','sfdbq','悟能','默默的大叔'}
        用for语句来遍历所有的元素如下;
            for x in s:
                print(x)
            else:
                print('遍历结束')
        将上面的for语句改写为while语句和迭代器实现

s = {'zjdqz','sfdbq','悟能','默默的大叔'}it = iter(s)try: while True: x = next(it) print(x)except StopIteration: print('遍历结束')

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。