zoukankan      html  css  js  c++  java
  • python基础_迭代器和高阶函数

    1.迭代器

    # ### 迭代器: 能被next调用,并不断返回下一个值得对象,叫做迭代器 (迭代器是对象)
    
    特征:迭代器会生成惰性序列,它通过计算把值依次的返回,一边循环一边计算而不是一次性得到所有数据
    优点:需要数据的时候,一次取一个,可以大大节省内存空间.而不是一股脑的把所有数据放进内存.
    
    #总结:
        1.惰性序列,节省内存空间
        2.遍历获取值得时候使用next,方向不可逆
        3.迭代器可以遍历无限量大的数据

    2.定义迭代器

    #(1) 如何定义一个迭代器
        (1) iter(可迭代对象) 
    
    #(3) 如何调用迭代器
        (1) next(迭代器)
    
    #(4)判断是否为迭代器
    from collections import Iterator,Iterable
    res = isinstance(range(10),Iterator)
    print(res)
    res = isinstance(range(10),Iterable)
    print(res)

    3.高阶函数

    #高阶函数:能够把函数当成参数传递的就是高阶函数  例如:map reduce sorted filter
    
    map(func,iterable)
    功能:把iterable 里面的数据一个一个的拿到func进行处理,把处理之后的结果,返回到迭代器之后,最后返回迭代器
    参数:
        func 自定义函数 或 内置函数
        iterable 可迭代对象 ( 容器类型数据 range对象 迭代器)
    返回值:
        迭代器

    3.高阶函数reduce

    reduce(func,iterable)
    功能:一次性从iterable拿出两个数据,扔到func函数中进行处理,
        把运算的结果在和iterable的第三个数据拿出来扔到func函数中进行处理
        ... 依次类推
        最后把计算的结果返回;
    参数:
        func 自定义函数 或者 内置函数
        iterable 可迭代性数据( 容器类型数据 range对象 迭代器)
    返回值:
        最后计算的结果

    3.高阶函数filter

    #     filter(func,iterable)
    功能: 过滤
           在自定义的函数中,
           如果返回True   代表保留该数据
           如果返回Falase 代表舍弃该数据
                
    参数: 
         func 自定义函数
         iterable 可迭代数据(容器类型数据, range对象, 迭代器)
    返回值:
        迭代器

    4.高阶函数sorted

    # (4)通过自定义函数排序
    lst = [19,27,35,48]
    def func(n):
        return n % 10
    lst = sorted(lst,key = func,reverse=True)   #reverse = False  表示从大到小
    print(lst) ##[19, 48, 27, 35]
  • 相关阅读:
    12C 中,发生脑裂时,节点保留策略
    如何修改集群的公网信息(包括 VIP)
    从 ASH 找到消耗 PGA 和 临时表空间 较多的 Top SQL_ID
    Oracle SCN详解
    10046 trace
    使用trace文件定位ORA-00060问题
    (转)计算机漏洞安全相关的概念POC 、EXP 、VUL 、CVE 、0DAY
    PowerShell 相关常用命令(update...)
    (转)主从同步常遇见问题处理-线上MYSQL同步报错故障处理总结
    pentestbox 安装后的基本设置
  • 原文地址:https://www.cnblogs.com/jalen-123/p/13173717.html
Copyright © 2011-2022 走看看