高阶函数、匿名函数及其内置高阶函数(map、reduce、filter、sort)

1.高阶函数

  • 概念:
  • 实参是一个函数,函数的返回值也是一个函数
  • 函数本身也是可以赋值给变量的,变量可以指向函数
  • abs是计算绝对值的函数
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 高阶函数传递的参数包括函数名
    在这里插入图片描述
    在这里插入图片描述

2.内置高阶函数map

  • map( ): 接收两个参数,一个是函数,一个是序列
  • map将传入的函数依次作用到序列的每个元素,并且把结果作为新的序列返回
  • 问题1
  • 对一个序列[1,-43,-23,25,-65]的每一个元素求绝对值
  • 程序代码
    在这里插入图片描述
  • 运行结果
    在这里插入图片描述
  • 问题2
  • 对序列的每个元素求阶乘
  • 程序代码
    在这里插入图片描述
  • 运行结果
    在这里插入图片描述

3.内置高阶函数reduce

  • reduce( ): 把一个函数作用在一个序列上,这个函数必须接收两个参数
  • reduce把结果继续和序列的下一个元素做累积计算
  • reduce( f, [ 1,2,3,4 ] ) = f ( f ( f ( 1,2 ) ,3 ) ,4 )
  • 在python2中:reduce是内置函数
  • 在python3中:需导入reduce模块( from functools import reduce)
  • 程序代码
    在这里插入图片描述
  • 运行结果
    在这里插入图片描述
  • 程序代码
    在这里插入图片描述
  • 运行结果
    在这里插入图片描述

4.内置高阶函数filter

  • filter 过滤函数
  • 和map( )类似,也是接收一个函数和一个序列
  • 不同的是,filter( )将传入的函数依次作用于序列的每个元素
  • 然后根据返回值是Ture或者False决定保留还是丢弃该元素
  • 程序代码
    在这里插入图片描述
  • 运行结果
    在这里插入图片描述

5.匿名函数

  • 函数匿名的关键字 lambda (冒号前面是形参,后面是返回值)
  • 程序代码
    在这里插入图片描述
  • 运行结果
    在这里插入图片描述
  • 程序代码
    在这里插入图片描述
  • 运行结果
    在这里插入图片描述
  • 程序代码
    在这里插入图片描述
  • 运行结果
    在这里插入图片描述

6.内置函数sort

  • 默认sort方法和sorted函数均由小到大排序,reverse=True 由大到小排序
  • 程序代码
    在这里插入图片描述
  • 运行结果

在这里插入图片描述

  • 程序代码

在这里插入图片描述

  • 运行结果

在这里插入图片描述

  • 程序代码

在这里插入图片描述

  • 运行结果

在这里插入图片描述

  • 程序代码

在这里插入图片描述

  • 运行结果

在这里插入图片描述

  • 问题:给商品进行排序
  • 程序代码
    在这里插入图片描述
  • 运行结果
    在这里插入图片描述
发布了82 篇原创文章 · 获赞 0 · 访问量 643

猜你喜欢

转载自blog.csdn.net/qq_45594312/article/details/103717199