• python 高阶函数


    filter()

    高阶函数filter()接收一个函数和一个序列 ,filter()把传入的函数依次作用于序列的每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素, 返回值是一个Iterator。

    res = filter(lambda x: x > 5, [1, 2, 10, 20])
    for i in res:
        print(i)
    
    10
    20
    

     

    map() 

    map()函数至少接收两个参数,一个为函数,其他是可迭代对象,map将传入的函数依次作用到可迭代对象的每个元素,并把结果作为新的Iterator返回。
    res = map(abs, [-1, -2, -3, -4, -5])
    for i in res:
        print(i)
    
    1
    2
    3
    4
    5
    

    reduce()

    reduce()函数接受三个参数, 第一个为函数, 第二个为序列, 把序列前两个元素传给函数参数,函数加工后,然后把得到的结果和第三个元素作为两个参数传给函数参数, 函数加工后得到的结果又和第四个元素作为两个参数传给函数参数。

    from functools import reduce
    res = reduce(lambda x, y: x*10+y, [1, 3, 5, 7, 9])
    print(res)
    
    13579
    

    lambda

    关键字lambda表示匿名函数,冒号前面的x表示函数参数, 冒号后面为函数体, 就是函数体只能有一个表达式, 返回值为该表达式的结果

    f = lambda x: x*x
    print(f(2))
    
    4
    

    partial

    functools.partial的作用就是,把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数,调用这个新函数会更简单

    import functools
    int2 = functools.partial(int, base=8)
    print(int2('64')) # 按8进制转换
    
    52
    

    sorted

    sorted 排序函数 接受三个参数,可迭代对象, key:key 是带一个参数的函数, reverse是否反转

    print(sorted([1, -2, 0, 4, -3], key=abs, reverse=True))
    [4, -3, -2, 1, 0]
    

      

     
  • 相关阅读:
    Django通过中间件配置解决跨域
    Kindeditor初始化、及初始化编辑内容
    Bootstrap免费后台管理模版
    微信小程序开发-网络请求-GET/POST不同方式等
    微信小程序开发-文件系统
    微信小程序开发学习记录-源码分享
    【转载】python实例手册
    【改良的选择排序 】
    【选择 插入 冒泡排序】
    【python基础】 Tkinter 之 几何管理器
  • 原文地址:https://www.cnblogs.com/frank-shen/p/10354815.html
Copyright © 2020-2023  润新知