一文看懂Python(八)-----内置高阶函数用法总结
函数是Python的核心内容之一,能够提高代码的重复利用率。为了更好的使用函数,有必要了解函数的一些高级用法。
Python内置了三个高阶函数:所谓高阶函数就是以函数作为参数,或者返回一个函数的函数,这样的都成为高阶函数。
三个高阶函数:
一、map(f,sq)函数:
参数:
f:是一个函数
sq:是一个可迭代的对象,可以是list、字符串等。
作用:将函数f作用到sq的每一个元素上。
等价于:f(x) for x in sq
解释:map不会改变原有sq,而是会返回一个新的迭代器对象,也可以说是返回了一个map对象。
示例:
而将其转为list时,才会被正常输出。
二、filter(f,sq)函数 :
参数:
f:是一个函数
sq:是一个可迭代的对象,可以是list、字符串等。
作用:通过函数f来筛选sq中的元素。
等价于:x for x in sq if f(x)
解释:filter不会改变原有序列,而是返回一个新的迭代器对象。filter()
函数返回的是一个Iterator
,也就是一个惰性序列,所以要强迫filter()
完成计算结果,需要用list()
函数获得所有结果并返回list。
示例:
三、reduce(f,sq,init)函数:
参数:
f:一个支持二元操作的函数
sq:一个可迭代的序列
init:初始化值
作用:接受的是一个支持二元操作的函数f(x,y),实现对序列sq中的元素实现累加计算,并返回单一结果。
示例:
一文看懂Python(八)-----内置高阶函数用法总结相关推荐
- Python中匿名函数与内置高阶函数详解
大家好,从今天起早起Python将持续更新由小甜同学从 初学者的角度 学习Python的笔记,其特点就是全文大多由 新手易理解 的 代码与注释及动态演示 .刚入门的读者千万不要错过! 很多人学习pyt ...
- python中的内置高阶函数
一. 内置高阶函数的类型 (一).内置高阶函数map """ map():接收两个参数,一个是函数 一个是序列 map将传入的函数依次作用到序列的每个元素,并且把结果作为 ...
- python内置高阶函数求导_Python——函数式编程、高阶函数和内置函数,及
Python--函数式编程.高阶函数及内置函数 函数式编程 一.不可变数据:不用变量保存状态不修改变量 二.第一类对象:函数即"变量" 1.函数名可以当做参数传递 2.返回值可以是 ...
- python内置高阶函数_map()函数~~内置的高阶函数
''' map()函数 map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list, 并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回. 例如 ...
- python高阶函数filter_Python进阶系列连载(13)——Python内置高阶函数filter(上)...
前言 进阶部分连载继续~ 如果还没看过我的入门连载部分,先看: 当然,小编的免费入门课程已经有咯,看过连载的朋友可以看看视频再快速梳理一遍~ 前文传送门: filter filter是什么意思呢? 我 ...
- 【函数】一篇文章带你看懂控制流、递归、高阶函数
目录 控制流 条件语句 迭代语句 示例:质因数分解 递归 示例:阶乘 示例:斐波那契数列 示例:判断奇偶数 高阶函数 lambda 表达式 设计函数 示例:累加计算 示例:柯里化 Lab 1: Fun ...
- 【Python】Python四大内置高阶函数(map、reduce、filter、sorted)
一.map函数 描述:接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素.如果传入了多个iterable参数,function 必须接受相同个数的实参并被应用于从所有可迭 ...
- 一文看懂Python(九)-----可变参数函数
最近在自学Python,Python真是个好东西,两个字,简洁,原来用Java写n行语句才能实现的功能,Python可能几行就搞定了.言归正传,今天要说的是Python中可变参数的函数. 可变参数的功 ...
- Python——四大内置高阶函数(map、reduce、filter、sorted)
一.map函数 基本介绍: map():接收两个参数,一个是函数,一个是序列 map将传入的函数依次作用到序列的每个元素,并把结果 作为新的序列返回 代码块: #对于序列[-1,3,-5,-2]的每个 ...
最新文章
- 如何用Python快速抓取Google搜索?
- python从外部传入参数_从另一个Python脚本运行一个Python脚本,并传入参数 - python...
- android studio大坑 executing external native build for cmake
- web前端——html基础笔记 NO.12{css布局模型(流动,浮动,层模型)}
- 必须掌握的Cookie知识点在这里
- mybatis中的智能标签之二
- 环球网-王坚《在线》:用20万字讲清楚三个词
- ATL学习笔记〔一〕
- 5.报错:ImportError: No module named win32api
- 461. Hamming Distance【数学|位运算】
- linux环境安装Kafka最新版本 jdk1.8
- 将本地项目上传到码云(gitee)远程仓库
- C++基础——非类型模板参数
- 线性代数与MATLAB2
- 用python画奥特曼_你都用 Python 来做什么?
- rs485九针头_如何在开放源代码中移动针头
- javaScript打气球小游戏
- linux 7 开启远程桌面,CentOS 7 安装使用 VNC 远程桌面
- leetcode【中等】838、推多米诺
- 天津少儿编程培训班费用多少呢?值不值?