Python的lambda
if else 可以用简单的三元运算符表示
if 1 == 1:
name = 'wupeiqi'
else:
name = 'alex'
--》
name = 'wupeiqi' if 1 == 1 else 'alex'
对于函数也可以lambda来简化表达
# ###################### 普通函数 ######################
# 定义函数(普通方式)
def func(arg):
return arg + 1 # 执行函数
result = func(123) # ###################### lambda ###################### # 定义函数(lambda表达式)
my_lambda = lambda arg : arg + 1 # 执行函数
result = my_lambda(123)
内置函数
1,map
遍历序列,对序列中每个元素进行操作,最终获取新的序列。
li = [11, 22, 33]
new_list1 = map(lambda a: a + 100, li)
print new_list1
[111, 122, 133]
li = [11, 22, 33]
sl = [1, 2, 3]
new_list = map(lambda a, b: 2*a + b, li, sl)
print new_list
[23, 46, 69]
2,filter
对于序列中的元素进行筛选,最终获取符合条件的序列
li = [11, 22, 33]
new_list2 = filter(lambda arg: arg >= 22, li)
print new_list2
[22, 33]
3,reduce
对于序列内所有元素进行累计操作
li = [11, 22, 33]
sl = [1, 2, 3]
result = reduce(lambda arg1, arg2: arg1 + arg2, li)
print result
# reduce的第一个参数,函数必须要有两个参数
# reduce的第二个参数,要循环的序列
# reduce的第三个参数,初始值
匿名函数lambda作为返回值返回时输出值的问题
def xc(x):
return lambda x:x*x
print xc(4)(4) def build(x,y):
return lambda x,y: xx+yy
print build(4,5)(4,5) def build():
return lambda x,y: xx+yy
print build()(5,5) pl=lambda x:x*x
print pl(3)
print xc(4) def build(x,y):
return lambda : xx+yy
print build(4,5)() def build(x,y,z):
return lambda :xx+yy+z
print build(4,5,9)() def build():
return lambda x,y,z:xx+yy+z
print build()(4,5,9)
Python的lambda的更多相关文章
- Python中Lambda表达式使用
软件环境 Python: 2.7.13; win10 Lambda描述 python 使用 lambda 表达式来创建匿名函数 lambda只是一个表达式,函数体比def简单很多 lambda的主体是 ...
- Python之 Lambda表达式
标签(空格分隔): Python进阶 Lambda是一种匿名函数,当我们需要重复调用某一函数,又不想写那么多代码时可以使用lambda表达式来代替. lambda的通用格式: lambda argum ...
- Python的lambda函数与排序
Python的lambda函数与排序 2010-03-02 15:02 2809人阅读 评论(0) 收藏 举报 lambdapythonlistlispclass工作 目录(?)[+] 前几天 ...
- python中lambda
lambda_expr ::= "lambda" [parameter_list]: expression python中lambda可以理解为一个匿名函数,它的要求是函数的运算部 ...
- python 之Lambda表达式
python 的 lambda 表达式 python写一些执行脚本时,使用lambda就可以省下定义函数的过程,比如说我们只是需要写个简单的脚本来管理服务器时,我们就不用专门定义函数然后再写调用,使用 ...
- Python之Lambda与三元运算
Python之Lambda与三元运算 Lambda 运算 概念:是指一类无需定义标识符(函数名)的函数或者子程序.特点:匿名函数不使用def定义函数,使用lambda来创建匿名函数1.lambda只是 ...
- 细说Python的lambda函数用法,建议收藏
细说Python的lambda函数用法,建议收藏 在Python中有两种函数,一种是def定义的函数,另一种是lambda函数,也就是大家常说的匿名函数.今天我就和大家聊聊lambda函数,在Pyth ...
- python之lambda,random,timeit,collections,
python之lambda,random,timeit,collections,一. python之lambda函数lambda函数又称为匿名函数,匿名函数就是没有函数名的函数.>>> ...
- Python之lambda表达式的妙用
用法 Python的lambda表达式用于构建匿名函数,基本语法是在冒号左边放原函数的参数,可以有多个参数,用逗号隔开即可:冒号右边是返回值. >>> lambda x,y: (x+ ...
- 14.在Python中lambda函数是什么
在Python中lambda函数是什么? It is a single expression anoymous function often used as inline function. lamb ...
随机推荐
- Description Resource Path Location Type AndroidManifest.xml file missing!
这个问题又找了好久.国内回答的确不敢恭维. 本回答来自谷歌: This is build issue. Go to Menu in eclipse, Project>clean then P ...
- Java异步通信
服务器端: import java.net.InetSocketAddress; import java.net.Socket; import java.net.SocketAddress; impo ...
- ROS_Kinetic_21 使用Qt Creator Plug in即ros_qtc_plugin
更为详细版本请参考: http://blog.csdn.net/zhangrelay/article/details/52214411 结合看更为具体. 首先,先上原版参考: 1 http://wik ...
- 【UNIX网络编程第三版】阅读笔记(一):代码环境搭建
粗略的阅读过<TCP/IP详解>和<计算机网络(第五版)>后,开始啃这本<UNIX网络编程卷一:套接字联网API>,目前linux下的编程不算太了解,在阅读的过程中 ...
- gradle 修改生成的apk的名字
在app的module里的build.gradle文件中,在android { ...}里面加上这样一段代码,即可修改生成的apk的文件名. android.applicationVariants.a ...
- C++实现最小堆及插入,调整顺序,删除堆顶元素的操作
上次用Java实现了最大堆的封装,这次就来写一下最小堆的实现吧 插入函数的思路: 向堆中插入元素有两种情况,一种是堆为空,那么就让插入值作为根节点即可:另一种是堆不为空,那么此时就要进行判断当前节点与 ...
- Zookeeper实现master选举
使用场景 有一个向外提供的服务,服务必须7*24小时提供服务,不能有单点故障.所以采用集群的方式,采用master.slave的结构.一台主机多台备机.主机向外提供服务,备机负责监听主 ...
- Ext JS 5初探(二) ——Bootstrap.js
在Bootstrap.js文件中,总共有1500行(包含注释和空行),使用编辑器的代码折叠功能就如下图可以一窥全貌了. 从代码可以看到,这里主要定义了Ext.Boot.Ext.globalEval.E ...
- 理解WebKit和Chromium: Chromium插件和扩展基础
转载请注明原文地址:http://blog.csdn.net/milado_nju ##概述 插件和扩展是一种扩充浏览器功能的技术,在之前我们介绍过NPAPI插件技术,在Chromium中,远远不只是 ...
- 菜鸟玩云计算之廿一: saltstack之pillar
菜鸟玩云计算之廿一: saltstack之pillar 参考: 点击打开链接 查看pillar数据: # salt '*' pillar.items pillar的默认根目录在:/srv/pillar ...