迭代器内容详解

迭代器
可迭代对象

迭代器是实现迭代器协议的对象,它包含__iter__()和___next_()方法,我们常见的可迭代对象有列表、元组、字典,字符串,我们可以从这些迭代对象中获取迭代器,从而进行迭代

生成迭代器实例

list =["iterable","tuple"]
#生成迭代器
l = next(list)
#使用next进行迭代
next(l)

遍历可迭代对象

multi = ("a", "b", "c")
for x in multi:
  print(x)
#实际上也是生成了迭代器,然后执行next方法
创建迭代器
class MyNum:
    def __iter__(self):
        self.num=1
        #生成迭代器对象返回self本身
        return self
    def __next__(self):
        self.num+=1
        #next方法获取迭代的对象值
        return num
#生成迭代器对象
a= iter(MyNum())
#next方法进行迭代
next(a)
next(a)
迭代器应用场景

​ 迭代器最核心的功能就是通过next()函数的调用返回下一个函数值,它是可以通过程序按照规律来进行生成,不用依赖已有的集合(列表、字典等),也就是不用缓存数据节省内存空间。

​ 我们的斐波那契数列1我们就可以用迭代器来实现

class MyNum:
    def __iter__(self):
        self.a =0
        self.b =1
        return self
    def __next__(self):
        self.num = self.a+self.b
        self.a= self.b
        self.b =self.num
        return self.num
q = iter(MyNum())
#####打印看效果#####
print (next(q))
print (next(q))
print (next(q))
print (next(q))
print (next(q))
print (next(q))

更多内容可以看我的bilibili账号:https://space.bilibili.com/432730836


  1. 斐波那契数列就是第三个数是前两个数的和, ↩︎

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值