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 22 Python
Python设计模式之MVC模式简单示例
Jan 10 Python
使用Python搭建虚拟环境的配置方法
Feb 28 Python
浅析python打包工具distutils、setuptools
Apr 20 Python
pytorch中tensor的合并与截取方法
Jul 26 Python
对Python模块导入时全局变量__all__的作用详解
Jan 11 Python
Django CBV类的用法详解
Jul 26 Python
超实用的 30 段 Python 案例
Oct 10 Python
Python 函数绘图及函数图像微分与积分
Nov 20 Python
Python基于QQ邮箱实现SSL发送
Apr 26 Python
python实现学生成绩测评系统
Jun 22 Python
详解Selenium 元素定位和WebDriver常用方法
Dec 04 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
最常用的8款PHP调试工具
2014/07/06 PHP
微信公众号实现会员卡领取功能
2017/06/08 PHP
基于ThinkPHP删除目录及目录文件函数
2020/10/28 PHP
JavaScript this 深入理解
2009/07/30 Javascript
返回页面顶部top按钮通过锚点实现(自写)
2013/08/30 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
2014/06/05 Javascript
JS实现左右无缝轮播图代码
2016/05/01 Javascript
vue制作加载更多功能的正确打开方式
2016/10/12 Javascript
bootstrap监听滚动实现头部跟随滚动
2016/11/08 Javascript
微信小程序城市定位的实现实例(获取当前所在国家城市信息)
2017/05/17 Javascript
详解用node搭建简单的静态资源管理器
2017/08/09 Javascript
全面解析jQuery中的$(window)与$(document)的用法区别
2017/08/15 jQuery
Vue中插入HTML代码的方法
2018/09/21 Javascript
EasyUI 数据表格datagrid列自适应内容宽度的实现
2019/07/18 Javascript
Node.js HTTP服务器中的文件、图片上传的方法
2019/09/23 Javascript
Vue利用Blob下载原生二进制数组文件
2019/09/25 Javascript
[02:43]DOTA2亚洲邀请赛场馆攻略——带你走进东方体育中心
2018/03/19 DOTA
使用python编写脚本获取手机当前应用apk的信息
2014/07/21 Python
Python中输出ASCII大文字、艺术字、字符字小技巧
2015/04/28 Python
python脚本设置系统时间的两种方法
2016/02/21 Python
Python基于列表list实现的CRUD操作功能示例
2018/01/05 Python
Pandas 对Dataframe结构排序的实现方法
2018/04/10 Python
利用Python yagmail三行代码实现发送邮件
2018/05/11 Python
程序员写Python时的5个坏习惯,你有几条?
2018/11/26 Python
Python Pywavelet 小波阈值实例
2019/01/09 Python
Python队列、进程间通信、线程案例
2019/10/25 Python
如何分离django中的媒体、静态文件和网页
2019/11/12 Python
解决django框架model中外键不落实到数据库问题
2020/05/20 Python
python urllib和urllib3知识点总结
2021/02/08 Python
澳大利亚鞋仓库:Shoe Warehouse
2019/07/25 全球购物
商场中秋节活动方案
2014/02/07 职场文书
企业管理毕业生求职信范文
2014/03/07 职场文书
2014年社区党建工作汇报材料
2014/11/02 职场文书
破坏寝室公物检讨书
2014/11/17 职场文书
2015年幼儿园保育工作总结
2015/05/12 职场文书
女性健康讲座主持词
2015/07/04 职场文书