python高阶函数

来源:互联网 发布:csgo显示网络数据命令 编辑:程序博客网 时间:2024/06/07 04:25

python中参数包括其他函数的的函数名为高阶函数,python内建的一些高阶函数可以帮助简化代码的编写

  1. map(function,[list])(function接收一个参数)

    map函数接收一个函数和一个list作为参数,将该函数作用于list中的每个元素,返回一个包含所有返回值的iterable对象(迭代器1)

    使用map就可以不使用显式循环进行批量操作

  2. reduce(function,[list])(function接收两个参数)

    reduce函数接收一个函数和一个list作为参数,从list中顺序取两个对象使用function计算出结果并放回list开头,依次累计计算直到list中只有一个元素,并返回该元素(类似递归中由内层向外层解决问题的过程)

    L1 = [1,2,3,4,5]def f(a,b):return a+breduce(f,L1)的计算过程为 f(f(f(f(1+2),3)4)5)
  3. filter(function,[list])(function接收一个参数,其返回值应为true或者false)

    filter可以根据function的规则过滤list中的对象,其将list中的对象传入function,根据返回的true或者false决定是否保留该对象,最后返回一个包含过滤后剩余元素的iterable对象(迭代器)


  1. 迭代器是一种定义一定规则,在访问时才通过计算产生结果的对象,使用list()函数可以计算出其所有元素并储存在list中返回 ↩