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简单实现Base64编码和解码的方法
Apr 29 Python
基于numpy.random.randn()与rand()的区别详解
Apr 17 Python
pandas or sql计算前后两行数据间的增值方法
Apr 20 Python
python获取文件路径、文件名、后缀名的实例
Apr 23 Python
Python 中导入csv数据的三种方法
Nov 01 Python
python url 参数修改方法
Dec 26 Python
Python 存储字符串时节省空间的方法
Apr 23 Python
python命令行工具Click快速掌握
Jul 04 Python
keras:model.compile损失函数的用法
Jul 01 Python
Python 开发工具通过 agent 代理使用的方法
Sep 27 Python
使用PyCharm官方中文语言包汉化PyCharm
Nov 18 Python
python中random模块详解
Mar 01 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
2020年4月放送决定!第2期TV动画《邪神酱飞踢》视觉图&主题曲情报公开!
2020/03/06 日漫
Thinkphp搭建包括JS多语言的多语言项目实现方法
2014/11/24 PHP
php三元运算符知识汇总
2015/07/02 PHP
PHP延迟静态绑定的深入讲解
2018/04/02 PHP
thinkphp5 模型实例化获得数据对象的教程
2019/10/18 PHP
javascript 框架小结 个人工作经验
2009/06/13 Javascript
jQuery+CSS 实现随滚动条增减的汽水瓶中的液体效果
2011/09/26 Javascript
父节点获取子节点的字符串示例代码
2014/02/26 Javascript
使用Plupload实现直接上传附件至七牛云存储
2014/12/26 Javascript
JS取得绝对路径的实现代码
2015/01/16 Javascript
jquery判断复选框是否被选中的方法
2015/10/16 Javascript
JQuery给select添加/删除节点的实现代码
2016/04/26 Javascript
原生js实现类似fullpage的单页/全屏滚动
2017/01/22 Javascript
Bootstrap jquery.twbsPagination.js动态页码分页实例代码
2017/02/20 Javascript
JavaScript拖动层Div代码
2017/03/01 Javascript
基于JS实现仿百度百家主页的轮播图效果
2017/03/06 Javascript
jQuery树插件zTree使用方法详解
2017/05/02 jQuery
使用vue-router切换页面时,获取上一页url以及当前页面url的方法
2019/05/06 Javascript
CKeditor富文本编辑器使用技巧之添加自定义插件的方法
2019/06/14 Javascript
vue history 模式打包部署在域名的二级目录的配置指南
2019/07/02 Javascript
利用PHP实现递归删除链表元素的方法示例
2020/10/23 Javascript
js面向对象方式实现拖拽效果
2021/03/03 Javascript
Python实现快速计算词频功能示例
2018/06/25 Python
python 对多个csv文件分别进行处理的方法
2019/01/07 Python
python实现淘宝购物系统
2019/10/25 Python
CSS教程:CSS3圆角属性
2009/04/02 HTML / CSS
css3 伪元素和伪类选择器详解
2014/09/04 HTML / CSS
Melijoe美国官网:法国奢侈童装购物网站
2017/04/19 全球购物
澳大利亚电商Catch新西兰站:Catch.co.nz
2020/05/30 全球购物
写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度
2015/11/18 面试题
《路旁的橡树》教学反思
2014/04/07 职场文书
施工安全责任书范本
2014/07/24 职场文书
井冈山红色之旅感想
2014/10/07 职场文书
记者节感言
2015/08/03 职场文书
中考百日冲刺决心书
2015/09/22 职场文书
发言稿之优秀教师篇
2019/09/26 职场文书