迭代器 Iterator 和 生成器Generator


迭代器 Iterator  和 生成器Generator
什么是迭代器
  是指能用iter(obj) 函数返回的对象(实例)
  迭代器可以用next(it) 函数获取可迭代对象的值

迭代器本身没有 值,是绑定一个可迭代对象,迭代器 相当于一个 只能下一步操作 的 索引
迭代器相关函数:
  iter(iterable)  从可迭代对象中返回一个迭代器,iterable必须是能提供一个迭代器的对象
  next(iterator)  从迭代器Iterator中获取下一个记录,如果无法获取下一条记录,则触发StopIteration异常 


说明:
   迭代器是访问可迭代对象的一种方式
   迭代器只能往前取值,不能后退
   
示例:
   L = [1,3,5,7]
   it = iter(L)  # it 绑定一个迭代器
   v = next(it)  # 拿到可迭代对象的第一个数
   


生成器 Generator (Python2.5版以后)
什么是生成器:
  生成器是能够动态提供数据的对象, 生成器对象是可迭代对象

生成器有两种:
  生成器函数
  生成器表达式 
用一个生成一个  ,range 也是
生成器函数:
定义:
  含有 yield 语句的函数是生成器函数, 此函数被调用将返回一个生成器对象
  yield 翻译为(生产,生成)


yield 语句
语法:
  yield 表达式
说明:
  yield 语句用于def 函数中,目的是将此函数作用生成器函数使用
  yield 用来成生数据,供next(it) 函数使用




生成器函数说明:
  生成器函数调用return 语句会产生一个StopIteration 异常


生成器,即是可迭代对象,也是迭代器
  





  用生成器函数生成某一区间[begin, end)内的偶数





可迭代对象
迭代器
生成器函数
生成器


生成器表达式:
语法:
  (表达式 for 变量 in 可迭代对象 [if 真值表达式])
  注: [] 内的内容可以省略
作用:
  用推导式形式生成一个新的生成器



迭代工具函数:
  迭代工具函数的作用是生成一个个性化的可迭代对象


函数:
  1. zip(iter1[, iter2[, ...]])  返回一个zip对象,此对象用于生成一个元组,此元组的个数由最小的可迭代对象决定
  2. enumerate(iterable[, start])  生成带索引的枚举对象,返回的迭代类型为索引-值(index-value)对,默认索引从零开始,可以用start指定


  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值