**三元运算和lambda
2024-08-30 07:57:18
三元运算
在说三元运算之前,我们看一段代码:
a = 1
if a == 1:
name = 'Hello'
else:
name = 'World'
print(name)
输出:Hello
对于这种简单的判断语句我们可以将其使用三元运算进行表示:
a = 1
name = 'Hello' if a == 1 else 'World'
print(name)
输出:Hello
可以看到上面4行代码实现的功能,使用三元运算一行代码就搞定了。
还有类似的代码(列表推导式、字典推导式):
l1 = [1, 2, 3, 4]
l2 = [i for i in l1 if i < 3]
print(l1)
print(l2)
l = [('k1', 2), ('k2', 4), ('k3', 6), ('k4', 8)]
d = {key: value for (key, value) in l}
print(d)
都可以起到简化代码的作用。
lambda
同样,在说lambda之前,我们看一段代码:
def f1(p1):
p1 += 100
return p1
ret1 = f1(10)
print(ret1)
输出:110
对于这种简单的函数我们可以使用lambda进行表示:
f2 = lambda p1: p1 + 100
ret2 = f2(10)
print(ret2)
输出:110
注意:lambda函数可以接受任意个参数,包括可选参数,但是表达式只有一个(即不能在后面添加if等语句)。
如果你的函数非常简单,只有一个表达式,不包含命令,可以考虑lambda函数。
最新文章
- Thinkstation center M8600t装RHEL7不能联网,网卡驱动没装问题
- zk系列-zookeeper概述
- Leetcode Perfect Square
- 类模板的static成员
- Python字符串,元组、列表、字典
- leveldb - 并发写入处理
- Ubuntu 14.10 下查看系统硬件信息(实例详解)
- Arrays
- JS实现滚动条滚到页面距离底部300px时执行事件的方法
- C++(MFC)
- jdbc_odbc SQLserver 驱动安装及测试
- 【HDOJ】1316 How Many Fibs?
- Win7/Win8 系统下安装Oracle 10g 提示“程序异常终止,发生未知错误”的解决方法
- ZOJ3768 夹逼查找【STL__lower_bound()_的应用】
- java提高篇(三)-----理解java的三大特性之多态
- 前端之Sass/Scss实战笔记
- 201521123062《Java程序设计》第9周学习总结
- bootstrap时间格式化
- mysql的并发控制
- npm install 报错(npm ERR! errno -4048,Error: EPERM: operation not permitted,)解决方法