Python的lambda
2024-10-17 05:19:13
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)
最新文章
- .NET开发邮件发送功能的全面教程(含邮件组件源码)
- [UML]UML系列——包图Package
- PHP获取MAC地址的函数代码
- C语言中malloc()和calloc()c函数用法
- 关于c++的输入
- ubuntu 下安装伪分布式 hadoop
- eclipse 常用的一些设置
- 2-4. BCD解密(10)
- Java新手入门的30个基本概念
- 【Android进阶】URL与URI的区别
- [转载] 几张非常有意义的JavaScript基础学习思维图
- Deploy .Net project automatically with MsBuild and MsDeploy (1)
- Mariadb Galera Cluster 群集 安装部署
- JDBC (二)
- 动态添加布局、动态添加View、LinearLayout动态添加View;
- Eclipse启动分析。。
- Supervisor: 进程控制系统
- maven打包源码<;转>;
- popupWindow自适应大小
- HashMap碰撞问题
热门文章
- Android简易实战教程--第三话《自己实现打电话》
- (NO.00005)iOS实现炸弹人游戏(一):游戏的整体规划设计
- Android的ViewFlipper-android学习之旅(三十五)
- OpenCV计算物体的重心坐标(2值图像)
- SVM及其c++代码运用实例
- Unity UGUI基础之Text
- iOS中 MediaPlayer framework实现视频播放 韩俊强的博客
- 【Android 应用开发】 Application 使用分析
- ROS(indigo)_pr2_simulator仿真(gazebo)示例
- 【翻译】使用Sencha Ext JS 6打造通用应用程序