• 高阶函数及map、reduce、filter、lambda、sorted等函数的应用


    '''
    高阶函数:一个函数可以接受另一个函数作为参数
    高阶函数:map reduce filter sorted
    map:【序列映射】序列中的每个元素,实行function运算
    reduce:【序列累计】必须接受两个参数,实现序列元素累计运算:如 1x2 2x3 6x4 24x5 .....
    lambda:隐函数
    filter:【真假过滤】接受一个函数和一个序列,作用于每个元素,根据返回值True 或 False决定是否保留
    sorted:【key排序】
    '''
    def add(x,y,f):
        return f(x)+f(y)
    a = add(-1,3,abs)
    print(a)
    
    def f(x):
        return x*x
    m = map(f,[x for x in range(10)])
    print(m) ##<map object at 0x000001EFED5AD160>
    print(list(m)) ##[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
    
    from functools import reduce
    def add(x,y):
        return x+y
    r1 = reduce(add,[x for x in range(5)])  ##0+1 1+2 3+4 7+5 .....
    
    r2 = reduce(lambda x,y:x*y,[1,2,3,4])         ##1x2 2x3 6x4
    print(r1)
    print(r2)
    
    ##根据返回值的真假,过滤
    fil = filter(lambda x :x % 2 == 1,[x for x in range(10)])
    print(list(fil)) ##[1, 3, 5, 7, 9]
    
    ##根据key传入函数的返回值对序列排序
    sor = sorted([23,45,-234,567],key=abs)
    print(sor) ##[23, 45, -234, 567]
  • 相关阅读:
    提交按钮变灰
    解析spring启动加载dubbo过程
    shiro的SecurityUtis
    spring集成shiro登陆流程(下)
    spring集成shiro登陆流程(上)
    shiro的DelegatingFilterProxy怎么找到ShiroFilterFactoryBean
    sql多表关联
    android常用控件
    android控件之EditText
    浅议iOS网络数据解析
  • 原文地址:https://www.cnblogs.com/liuhuacai/p/12305714.html
Copyright © 2020-2023  润新知