Python 进阶 之 lambda 匿名函数
lambda 是个匿名函数,通常用于简单判断或者处理,例如判断一个数的奇偶性,过滤字符串,逻辑运算等等。
lambda表达式:
>>>lambda x:x*x
>>>lambda x,y:x*y
lambda介绍:“:”左边的"x"; "x,y",代表了声明的变量,变量参数为多个时用逗号隔开,“:”为表达式,表达式的返回值即为整个lambda匿名函数的返回值
lambda表达式嵌套:
>>>lambda x,y:lambda a,b:a+b+x+y
lambda介绍:嵌套后内层的lambda函数可引用外层lambda声明的变量,但一般不建议嵌套,可读性太差。
lambda使用方法:
第一种方法:直接赋值,赋值格式见代码
>>> (lambda x:x*x)(5)
25
>>> (lambda x,y:x*y)(5,6)
30
>>> (lambda x,y:lambda a,b:a+b+x+y)(1,2)(3,4)
10
第二种方法:表达式赋给对象,对对象赋值
>>> object = (lambda x:x*x)
>>> object(5)
25
>>> object = (lambda x,y:x*y)
>>> object(5, 6)
30
>>> object = (lambda x,y:lambda a,b:a+b+x+y)
>>> object(1, 2)(3, 4)
10
通常情况下lambda不单独使用,lambda与map,filter 等可迭代函数相结合来批量完成某个功能的转换。
例如:
根据字符串类型的IP和子网掩码来计算网段。
>>> ip = "10.17.99.63"
>>> netmask = "255.255.0.0"
>>> ".".join(map(lambda x,y:str(int(x)&int(y)),ip.split("."), netmask.split(".")))
'10.17.0.0'
Python 进阶 之 lambda 匿名函数的更多相关文章
- python进阶学习之匿名函数lambda
定义: lambda 参数列表:return(表达式) 匿名函数的表达式,只允许有一个. 匿名函数一般用于较简单的情况. 实例1: 实例2,配合高阶函数filter()使用: filter()函数是 ...
- python学习之lambda匿名函数
1 Python支持运行时使用“lambda”建立匿名函数(anonymous functions that are not bound to a name). python "lambda ...
- 『Python基础-14』匿名函数 `lambda`
匿名函数和关键字lambda 匿名函数就是没有名称的函数,也就是不再使用def语句定义的函数 在Python中,如果要声匿名函数,则需要使用lambda关键字 使用lambda声明的匿名函数能接收任何 ...
- python基础-4 函数参数引用、lambda 匿名函数、内置函数、处理文件
上节课总结 1.三元运算 name=“name1”if 条件 else “name2” 2.深浅拷贝 数字.字符串 深浅,都一样 2.其他 浅拷贝:只拷贝第一层 深拷贝:不拷贝最后一层 3.set集合 ...
- Python 之父为什么嫌弃 lambda 匿名函数?
Python 支持 lambda 匿名函数,其扩展的 BNF 表示法是lambda_expr ::= "lambda" [parameter_list] ":" ...
- Python进阶(五)----内置函数Ⅱ 和 闭包
Python进阶(五)----内置函数Ⅱ 和 闭包 一丶内置函数Ⅱ ####内置函数#### 特别重要,反复练习 ###print() 打印输入 #sep 设定分隔符 # end 默认是换行可以打印到 ...
- 初学 Python(十三)——匿名函数
初学 Python(十三)--匿名函数 初学 Python,主要整理一些学习到的知识点,这次是匿名函数. # -*- coding:utf-8 -*- #关键字lambda定义的函数都是匿名函数 #做 ...
- Python练习题-1.使用匿名函数对1~1000求和,代码力求简洁。
Python 练习 标签(空格分隔): Python Python练习题 Python知识点 一.使用匿名函数对1~1000求和,代码力求简洁. 答案: In [1]: from functools ...
- lambda 匿名函数
# 普通python函数 def func(a,b,c): return a+b+c print func(1,2,3) # 返回值为6 # lambda匿名函数 f = lambda a,b,c:a ...
随机推荐
- maven仓库地址
使用Maven进行开发的时候,比较常见的一个问题就是如何寻找我要的依赖,比如说,我想要使用activeMQ,可是我不知道groupId,artifactId,和合适的version.怎么办呢?本文介绍 ...
- 【EasyNetQ】- 使用Future Publish调度事件
许多业务流程要求在将来某个日期安排事件.例如,在与客户进行初次销售联系后,我们可能希望在将来的某个时间安排跟进电话.EasyNetQ可以通过其Future Publish功能帮助您实现此功能.例如,这 ...
- log4net将日志写入ElasticSearch
log4net将日志写入ElasticSearch https://www.cnblogs.com/huangxincheng/p/9120028.html 很多小步快跑的公司,开发人员多则3-4个, ...
- 2017 Multi-University Training Contest - Team 3 RXD and functions(NTT)
题解: 我是参考的 http://blog.csdn.net/qq_32570675/article/details/76571666 这一篇 orz 原来可以这么变换,涨姿势 代码: #includ ...
- [洛谷P1317]低洼地
题目大意:一组数,分别表示地平线的高度变化.高度值为整数,相邻高度用直线连接.找出并统计有多少个可能积水的低洼地?(首尾都为0) 题解:求出其中都多少个不严格下降子段和不严格上升子段所夹的位置,即为答 ...
- Linux总结(二)
1. 虚拟机安装 a)双系统(不建议初学者一开始去装) b)般建议使用虚拟机来操作试验环境 c)好处:可以模拟真实的环境进行各种的试验和操作 d)在启动之后,在操作的时候会占用一部分的系统资源 1 ...
- 【bzoj2038】[国家集训队2010]小Z的袜子 莫队
莫队:就是一坨软软的有弹性的东西Duang~Duang~Duang~ 为了防止以左端点为第一关键字以右端点为第二关键字使右端点弹来弹去,所以让左端点所在块为关键字得到O(n1.5)的时间效率,至于分块 ...
- MAVEN 编译打包测试 指定本地jar
转载自:http://penuel.iteye.com/blog/1766102 maven对于互联网开发,进行版本管理有着不可或缺的作用; 而经常开发的程序猿直接联调或者依赖未上线或deploy的 ...
- js页面 读身份证
硬件是 神思读卡器, 需要安装这个东西的驱动. 在web页面读取的话, 下载cab的包 进行注册, <OBJECT classid="clsid:F1317711-6BDE-4658- ...
- Restful 接口权限控制
前言 有人说,每个人都是平等的: 也有人说,人生来就是不平等的: 在人类社会中,并没有绝对的公平, 一件事,并不是所有人都能去做: 一样物,并不是所有人都能够拥有. 每个人都有自己的角色,每种角色都有 ...