python匿名函数的使用方法解析


Posted in Python onOctober 10, 2019

一、lambda关键字的使用方法

func=lambda x:x+1
print(func(1))
#2
print(func(2))
#3

#以上lambda等同于以下函数
def func(x):
  return(x+1)

注释:可以这样认为,lambda作为一个表达式,定义了一个匿名函数,上例的代码x为入口参数,x+1为函数体。在这里lambda简化了函数定义的书写形式。是代码更为简洁,但是使用函数的定义方式更为直观,易理解。

二、Python中,也有几个定义好的全局函数方便使用的,filter, map, reduce。

filter(function, sequence):对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuple(取决于sequence的类型)。

filter(function or None, sequence) -> list, tuple, or string:入参为函数和列表/元组/字符串,返回值为item列表/元组/字符串。

map(function, sequence) :对sequence中的item依次执行function(item),将执行结果function(item)组成一个List返回。

map(function, sequence[, sequence, ...]) -> list:入参是为函数和列表/元组/字符串,返回值为function(item)列表。

reduce(function, sequence, starting_value):对sequence中的item顺序迭代调用function,如果有starting_value,还可以作为初始值调用。function接收的参数个数只能为2,先把sequence中第一个值和第二个值当参数传给function,再把function的返回值和第三个值当参数传给function,然后只返回一个结果。

reduce(function, sequence[, initial]) -> value:入参是为函数和列表/元组/字符串和初始值,返回值为数值。

from functools import reduce 
 foo = [2, 18, 9, 22, 17, 24, 8, 12, 27]
 
 print (list(filter(lambda x: x % 3 == 0, foo)))
 #[18, 9, 24, 12, 27]
 
 print (list(map(lambda x: x * 2 + 10, foo)))
 #[14, 46, 28, 54, 44, 58, 26, 34, 64]
 print (reduce(lambda x, y: x + y, foo))
#139
#1.lambda用法,冒号之前的是入参,冒号之后的是表达式,返回的值,最简单的函数
print [(lambda x:x*x)(x)for x in range(11)]
#结果:[0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
print (lambda x:x*x)(3)
#结果:9
g=lambda x:x*x
print g(4)
#结果:16

#2.filter用法:返回执行结果为TRUE的入参(入参是列表字符元组)
print filter(lambda x:x*x-4,range(10))
#结果:[0, 1, 3, 4, 5, 6, 7, 8, 9]

#3.map的用法:对列表入参依次执行函数。入参为列表,有多少个列表,就应该有多少个入参。
print map(lambda x:x*x-4,range(10))
#结果:[-4, -3, 0, 5, 12, 21, 32, 45, 60, 77]
print map(lambda x,y:x*y-4,range(3),[8,9,10])
#结果:[-4, 5, 16]

#4.reduce用法:先把sequence中第一个值和第二个值当参数传给function,再把function的返回值和第三个值当参数传给fuction,最终返回一个结果值
#接收的入参个数只能为2
print reduce(lambda x,y:x*y-4,range(4))
#结果:-40
#计算0到100的和
print reduce(lambda x,y:x+y, range(101))
#结果:5050
print reduce(lambda x,y:x+y, range(101),100)
#结果:5150

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python简单实现基数排序算法
May 16 Python
python中正则的使用指南
Dec 04 Python
python 数据的清理行为实例详解
Jul 12 Python
Python实现检测文件MD5值的方法示例
Apr 11 Python
解决pip install的时候报错timed out的问题
Jun 12 Python
python Matplotlib底图中鼠标滑过显示隐藏内容的实例代码
Jul 31 Python
python将邻接矩阵输出成图的实现
Nov 21 Python
使用Python求解带约束的最优化问题详解
Feb 11 Python
Python基于Socket实现简单聊天室
Feb 17 Python
Python Pandas 对列/行进行选择,增加,删除操作
May 17 Python
MATLAB数学建模之画图汇总
Jul 16 Python
Django+Celery实现定时任务的示例
Jun 23 Python
Python切图九宫格的实现方法
Oct 10 #Python
python 3.7.4 安装 opencv的教程
Oct 10 #Python
Django实现auth模块下的登录注册与注销功能
Oct 10 #Python
导入tensorflow时报错:cannot import name 'abs'的解决
Oct 10 #Python
关于pycharm中pip版本10.0无法使用的解决办法
Oct 10 #Python
超实用的 30 段 Python 案例
Oct 10 #Python
使用浏览器访问python写的服务器程序
Oct 10 #Python
You might like
PHP会话操作之cookie用法分析
2016/09/28 PHP
smarty模板数学运算示例
2016/12/11 PHP
PHP5.5安装PHPRedis扩展及连接测试方法
2017/01/22 PHP
用js判断用户浏览器是否是XP SP2的IE6
2007/03/08 Javascript
js保存当前路径(cookies记录)
2010/12/14 Javascript
通过Javascript创建一个选择文件的对话框代码
2012/06/16 Javascript
IE浏览器中图片onload事件无效的解决方法
2014/04/29 Javascript
使用forever管理nodejs应用教程
2014/06/03 NodeJs
node.js中的console.timeEnd方法使用说明
2014/12/09 Javascript
js对象的复制继承实例
2015/01/10 Javascript
深入学习JavaScript中的Rest参数和参数默认值
2015/07/28 Javascript
微信小程序page的生命周期和音频播放及监听实例详解
2017/04/07 Javascript
JavaScript定义函数_动力节点Java学院整理
2017/06/27 Javascript
vue-quill-editor实现图片上传功能
2017/08/08 Javascript
JavaScript实现图片放大镜效果
2019/06/27 Javascript
解决layer.confirm选择完之后消息框不消失的问题
2019/09/16 Javascript
jQuery 淡入/淡出效果函数用法分析
2020/05/19 jQuery
Vue select 绑定动态变量的实例讲解
2020/10/22 Javascript
Python虚拟环境Virtualenv使用教程
2015/05/18 Python
python多维数组切片方法
2018/04/13 Python
python实现汉诺塔算法
2021/03/01 Python
对python中的高效迭代器函数详解
2018/10/18 Python
Scrapy框架实现的登录网站操作示例
2020/02/06 Python
Pycharm+Python工程,引用子模块的实现
2020/03/09 Python
CK美国官网:Calvin Klein
2016/08/26 全球购物
Ann Taylor官方网站:美国最大的女性产品制造商之一
2016/09/14 全球购物
大韩航空官方网站:Korean Air
2017/10/25 全球购物
Under Armour安德玛意大利官网:美国高端运动科技品牌
2020/01/16 全球购物
淘宝中秋节活动方案
2014/01/31 职场文书
社区国庆节活动方案
2014/02/05 职场文书
雷人标语集锦
2014/06/19 职场文书
党课心得体会范文
2014/09/09 职场文书
《我爱祖国》演讲稿1000字
2014/09/26 职场文书
家长意见和建议怎么写
2015/06/04 职场文书
五一晚会主持词
2015/07/01 职场文书
MySQL窗口函数的具体使用
2021/11/17 MySQL