python之迭代器,生成器,递归等归纳

可迭代的对象:python中凡是具有__iter__魔法属性的对象便是可迭代对象。在python中,凡是能够遍历的对象都是可迭代的。一般有list,set, dict,char ,tuple,range。可迭代的对象通过iter函数包装便是迭代器。

迭代器:对象具有__iter__和__next__属性的对象是迭代器。迭代器可以通过next函数访问下一个元素

递归:在函数里不断调用自身的过程。但由于递归时,重复调用自身,需要临时保存中间值,导致占用内存较多,不建议使用。递归过程中一定会用到迭代,并需要保存中间值。

迭代器:凡是能够迭代的,并能够通过next产生下一元素的对象即迭代器。由于迭代器不断通过next产生数据,并不保存一系列的数据。不是通过保存一系列数据,
并逐个调取,因此执行速度较快,与递归大大相反。

生成器:是一种特殊的迭代器,凡是函数中有yield关键字,便是生成器。生成器的最大特点是:1.控制函数的运行过程 2.逐一生成数据,节约内存资源

定义一个迭代器:

a=[1,5,10]

b=iter(a) #b便成为一个迭代器

print(next(b))#通过next函数可以逐个获得a中的数据

 

转载于:https://www.cnblogs.com/xuehaiwuya0000/p/10891491.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值