快捷搜索: 王者荣耀 脱发

python之迭代器(iterator)详解

    迭代器 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 = {唐僧,悟空,悟能,悟净} 用for语句来遍历所有的元素如下; for x in s: print(x) else: print(遍历结束) 将上面的for语句改写为while语句和迭代器实现

s = {唐僧,悟空,悟能,悟净}
it = iter(s)
try:
    while True:
        x = next(it)
        print(x)
except StopIteration:
    print(遍历结束)
经验分享 程序员 微信小程序 职场和发展