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函数返回多个值的示例方法
Dec 04 Python
Python 判断 有向图 是否有环的实例讲解
Feb 01 Python
Django添加feeds功能的示例
Aug 07 Python
python实现字符串加密成纯数字
Mar 19 Python
Django打印出在数据库中执行的语句问题
Jul 25 Python
python实现树的深度优先遍历与广度优先遍历详解
Oct 26 Python
python实现名片管理器的示例代码
Dec 17 Python
python日期与时间戳的各种转换示例
Feb 12 Python
python使用turtle库绘制奥运五环
Feb 24 Python
jupyter notebook插入本地图片的实现
Apr 13 Python
详解python3类型注释annotations实用案例
Jan 20 Python
如何使用Python提取Chrome浏览器保存的密码
Jun 09 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
生成缩略图
2006/10/09 PHP
php 远程关机操作的代码
2008/12/05 PHP
destoon实现会员商铺中指定会员或会员组投放广告的方法
2014/08/21 PHP
php中fsockopen用法实例
2015/01/05 PHP
smarty内置函数capture用法分析
2015/01/22 PHP
ThinkPHP框架实现定时执行任务的两种方法分析
2018/09/04 PHP
初学js 新节点的创建 删除 的步骤
2011/07/04 Javascript
体验js中splice()的强大(插入、删除或替换数组的元素)
2013/01/16 Javascript
JS自调用匿名函数具体实现
2014/02/11 Javascript
jquery插件开发之实现google+圈子选择功能
2014/03/10 Javascript
jquery简单倒计时实现方法
2015/12/18 Javascript
jQuery自定义滚动条完整实例
2016/01/08 Javascript
原生js实现返回顶部缓冲效果
2017/01/18 Javascript
Vue2.0利用 v-model 实现组件props双向绑定的优美解决方案
2017/03/13 Javascript
如何使用bootstrap框架 bootstrap入门必看!
2017/04/13 Javascript
如何通过非数字与字符的方式实现PHP WebShell详解
2017/07/02 Javascript
用npm安装vue和vue-cli,并使用webpack创建项目的方法
2018/09/28 Javascript
原生JS实现的放大镜特效示例【测试可用】
2018/12/08 Javascript
Seajs源码详解分析
2019/04/02 Javascript
微信小程序用户授权弹窗 拒绝时引导用户重新授权实现
2019/07/29 Javascript
解决axios post 后端无法接收数据的问题
2019/10/29 Javascript
详解Vue3中对VDOM的改进
2020/04/23 Javascript
详解vuejs中执行npm run dev出现页面cannot GET/问题
2020/04/26 Javascript
[02:01]BBC DOTA2国际邀请赛每日综述:八强胜者组鏖战,中国队喜忧参半
2014/07/19 DOTA
Python中的Numpy入门教程
2014/04/26 Python
python实现自动登录人人网并访问最近来访者实例
2014/09/26 Python
使用Python内置的模块与函数进行不同进制的数的转换
2016/03/12 Python
浅谈解除装饰器作用(python3新增)
2018/10/15 Python
对json字符串与python字符串的不同之处详解
2018/12/19 Python
在Python 中实现图片加框和加字的方法
2019/01/26 Python
描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理
2015/03/25 面试题
酒店销售经理岗位职责
2014/01/31 职场文书
《彭德怀和他的大黑骡子》教学反思
2014/04/12 职场文书
《称象》教学反思
2014/04/25 职场文书
MySQL读取JSON转换的方式
2022/03/18 MySQL
Mysql数据库group by原理详解
2022/07/07 MySQL