• 5.15自用


    迭代器 高阶函数(map,filter,reduce,sorted,)

     

    -迭代器

    :能被next调用,并不断返回下一个值的对象,叫做迭代器

    概念:迭代器指的是迭代取值的工具,迭代是一个重复的过程,每次重复都是基于上一次的结果而继续,单纯的重复不是迭代
    特征:不依赖索引,通过next指针迭代所有数据,一次只取一个,可以大大节省空间,迭代无限量的数据
    如何定义一个迭代器

      1)iter(可迭代对象)
      2)可迭代对象.__iter__()

    如何判断一个迭代器

    如果内置成员中 含有__iter__和__next__两个方法,就可以判断是一个迭代器

    如何调用一个迭代器

       迭代器通过next方法调用是,是单向不可逆的过程

       1)next (迭代器)
        2) 迭代器.__next__()

    2.通过for循环,遍历迭代器

    3.for 和next配合调用迭代器
      重置迭代器

    it = iter(setvar)

    5)使用Iterator he Iterable 来判断是否是迭代器
    ''' 需要导入模块
     Iterator 迭代器类型 Iterable 可迭代对象
     '''

     高阶函数:能够把函数当作参数喜欢滴的就是高阶函数 map filter reduce  sorted
    map

    '''
    map (func,iterable)
    功能:把iterable里面的数据一个一个拿出来,放到func函数中进行处理,把处理的结果扔到迭代器中,返回迭代器
    参数:
        func 自定义函数 或者内置函数
        iterable 可迭代对象(容器类型数据 range 迭代器 )
        返回值: 迭代器
    '''

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

    '''

    reduce
    '''
    reduce(func,iterable)
    功能: 一次性从iterable当中拿出2个值,扔到func函数中处理
        把运算的结果在和iterable的第三个值继续扔到func中做运算
        ...以此类推
        最后返回计算的结果
    参数:
        func 自定义函数
        iterable 可迭代数据(容器类型数据 range对象 迭代器)
    返回值:
        最后计算的结果
    '''

    sorted

    '''
    sorted (iterable,reverse=False,key = 函数)
    功能: 排序
    参数:
        iterable 可迭代数据(容器类型数据 range对象 迭代器)
        reverse  代表是否倒序 reverse = True  代表倒序 从大到小 reverse  =False 代表正序,从小到大
        key 自定义函数或内置函数
    返回值:
        排序后的列表
    '''

    sort 基于原有的列表进行排序,只限定列表类型
    sorted 所有的容器类型都能排,返回一个全新的列表(推荐使用)


  • 相关阅读:
    104. 二叉树的最大深度
    Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[]]
    python-admin管理后台
    django-cookies 和session
    django-关系映射
    django-关系映射 一对一 一对多 多对多
    django-Meta类
    django-orm聚合查询和原生数据库查询
    django-F对象、Q对象
    django-orm删除数据
  • 原文地址:https://www.cnblogs.com/-jov/p/12892388.html
Copyright © 2020-2023  润新知