zoukankan      html  css  js  c++  java
  • 高阶函数及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]
  • 相关阅读:
    隐藏NGINX服务器名称 和版本号
    salt-grains
    格式化输出文本的方法
    递归例子
    yield 生成器例子
    Python基础之函数
    Python基础之面向对象
    Python基础之模块2
    Python基础之字符编码
    Python基础之文件操作
  • 原文地址:https://www.cnblogs.com/liuhuacai/p/12305714.html
Copyright © 2011-2022 走看看