• 迭代器的应用


    一、使用迭代器的目的

      1、说明 :当在一个程序中需要用到很多个值时,

        方案一:使用一个列表将这些值进行存储。什么时候用就什么时候取。

        缺点:占用大量的内存空间

        方案二:存储生成这些值的方式、什么时候使用就什么时候生成一个。

        缺点:占用极小的内存空间,只占用产生这些值的方式的内存空间

       

         比喻: 为了长期对抗疫情,所以要准备储备粮食,现有两种方案。

          方案一:买大量的馒头放到冰箱中。

          方案二:买面粉。吃一个做一个。

      

    二、Python2.X中的【range】和【xrange】函数的区别

      1、range函数:生成一个列表

      2、xrange函数: 生成一个存储值的方式,即可迭代对象。

      

    三、斐波那契数列

      1、描述:即:除了第一个和第二个数外,其它每一个数都是前面两个数相加得到的结果。

        示例:0,1,1,2,3,5,8,13,21,34,......

      2、代码实现:

      

      

    class Fibonacci(object):
        """斐波那契数列迭代器"""
    
        def __init__(self, all_nums):
            self.all_num = all_nums
            self.current_num = 0
            self.a = 0
            self.b = 1
    
        def __iter__(self):
            return self
    
        def __next__(self):
            if self.current_num < self.all_num:
                ret = self.a
                # 将两个数进行交换
                # 等同于: a,b = b,a+b
                self.a, self.b = self.b, (self.a + self.b)
                self.current_num += 1
                
                return ret
            else:
                raise StopIteration
    
    fibo = Fibonacci(10)
    
    for num in fibo:
        print(num)
    View Code

    运行结果:

     

  • 相关阅读:
    git
    RT-Thread 4.0 + STM32F407 学习笔记1
    C#串口通信及数据表格存储
    NRF52832初步使用
    ubuntu终端下快捷键之--字体放大缩小
    微信公众号开发被动回复用户消息,回复内容Content使用了" "换行符还是没有换行
    python2018年秋季调研
    python图像处理模块Pillow--Image模块
    linux查看文件命令tail的使用
    使用xadmin更新数据时,报错expected string or bytes-like object
  • 原文地址:https://www.cnblogs.com/yujiemeigui/p/14309397.html
Copyright © 2020-2023  润新知