zoukankan      html  css  js  c++  java
  • Python-07-高阶函数

    一、定义

    默认满足以下两个条件中的一个就是高阶函数:

    • 函数的传入参数是一个函数名
    • 函数的返回值是一个函数名

    二、map函数

    map接收两个参数,一个函数和一个Iterable,map将接收到的函数作用于Iterable的每一个元素上,并返回一个新的Iterable。

    def foo(x):
        return x ** 2
    
    mlist = [1, 2, 3, 4, 5, 6]
    r = map(foo, mlist)
    print(list(r))
    
    [1, 4, 9, 16, 25, 36]
    

    三、filter函数

    Python内建的filter()函数用于过滤序列。

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

    def is_odd(n):
        return n % 2 == 0
    
    r = filter(is_odd, [1, 2, 3, 4, 5, 6])
    print(list(r))
    
    [2, 4, 6]
    

     四、reduce函数

    reduce把一个函数作用在一个序列[x1, x2, x3, ...]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算,其效果就是:

    reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)
    from functools import reduce
    def add(x, y):
        return x + y
    
    r = reduce(add, [1, 2, 3, 4, 5, 6])
    print(r)
    
    21
    
     
  • 相关阅读:
    数据库主键策略
    经历alidns在国外的严重延时
    无题 MVC
    Jquery操作select,左右移动,双击移动 取到所有option的值
    Computop支付网关(一) credit Card
    [转载] 测试的道理
    微信砍价活动总结
    transform,变换
    transition,过渡效果
    文字居底方法
  • 原文地址:https://www.cnblogs.com/lsf123456/p/11170558.html
Copyright © 2011-2022 走看看