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
    
     
  • 相关阅读:
    vue分享二维码
    Linux的软件安装
    linux命令操作
    禅道的使用方法
    测试管理工具的安装和介绍
    测试Bug
    软件缺陷和软件缺陷的种类
    测试计划和测试用例
    双肩包,椅子,电梯的测试用例
    软件生命周期的模型
  • 原文地址:https://www.cnblogs.com/lsf123456/p/11170558.html
Copyright © 2011-2022 走看看