• 第八节 迭代器的运用


     1 from collections.abc import Iterable
     2 
     3 '''
     4 迭代器的作用,通过迭代器生成需要的数据,而不是事先放进一个列表里存储,节省大量内存空间
     5 '''
     6 
     7 # 比如想要从1到1000的数字,不是提前准备一个列表,而是需要的时候临时用xrange(1000)生成
     8 # xrange he range 已经合并了,现在range已经是一个迭代器了
     9 a = range(10)
    10 # help(a)
    11 
    12 '''
    13 斐波那契数列的for循环实现
    14 '''
    15 # b = 0
    16 # c = 1
    17 # for x in range(20):
    18 #     print(b, end=' ')
    19 #     b, c = c, c + b
    20 
    21 '''
    22 用类实现
    23 '''
    24 class Fobonaqi(object):
    25 
    26     def __init__(self, all_num):
    27         self.a = 0
    28         self.b = 1
    29         self.all_num = all_num
    30         self.c = 0
    31 
    32     def __iter__(self):
    33         return self
    34 
    35     def __next__(self):
    36         if self.c <= self.all_num:
    37             ret = self.a
    38             self.a ,self.b = self.b, self.a + self.b
    39             self.c += 1
    40             return ret
    41         else:
    42             raise StopIteration
    43 feibo = Fobonaqi(20)
    44 f = list(feibo)  #list先生成一个空列表,然后去feibo里面找—__iter__,再去调用__next__方法将数据一个个放进空列表中
    45 print(a)
    46 
    47 for x in f:
    48     print(x)
  • 相关阅读:
    token验证流程
    mongodb常用命令
    vue生命周期详解
    json-server基本使用
    Vue实现一个简单的todolist
    [高级软件工程教学]个人第2次作业第一次测评结果
    [福大高级软工教学]个人第1次作业成绩公布
    nginx+tomcat负载均衡
    apache 工作模式
    Apache主要的配置文件们
  • 原文地址:https://www.cnblogs.com/kogmaw/p/12575497.html
Copyright © 2020-2023  润新知