**三元运算和lambda
三元运算
在说三元运算之前,我们看一段代码:
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函数。
**三元运算和lambda的更多相关文章
- 三元运算与lambda表达式
#三元运算,就是对if else的简写 if 1 == 1: print("jasper") else: print("sb") 三元运算写法 name=&qu ...
- python_way,day3 集合、函数、三元运算、lambda、python的内置函数、字符转换、文件处理
python_way,day3 一.集合 二.函数 三.三元运算 四.lambda 五.python的内置函数 六.字符转换 七.文件处理 一.集合: 1.集合的特性: 特性:无序,不重复的序列 如果 ...
- 三元运算和lambda表达式
19.三目运算,三元运算: if else 的简写: name = 'alex' if 1 == 1 else 'SB' ==> 等价于 if 1 == 1: ...
- Python之路第三天,基础(3)-set,函数,内置函数,文件,三元运算,lambda
set集合 集合是一个无序的,不重复的元素集合. 集合的创建: name_set = {'tom','jerry','alex','rose'} 或 name_set = set(['tom','je ...
- Python三元运算和lambda表达式
一.三元运算 1.定义:三元运算是if-else 语句的快捷操作,也被称为条件运算. 2.结构: [on_true] if [expression] else [on_false] 3.示例: ...
- Python_三元运算与lambda表达式
[是什么] 三元运算是if...else...的简化版,lambda表达式是函数的简化版 三元运算(三目运算) # 判断两个数中的较大者 fun(a1,a2): return a1 if a1> ...
- 三元运算+lambda表达式
#三元运算,三目运算,if else简写 if 1 == 1: name = "liangml" else: name = "NB" #如果 1==1 成立,n ...
- 第三天 函数 三元运算 lambda表达式 内置函数 文件操作
面向过程: 直接一行一行写代码,遇到重复的内容复制黏贴. 不利于代码阅读 代码没有复用 面向对象 将代码块定义为函数,以后直接调用函数 增强了复用性 函数的定义方法 def 函数名(传递参数): 函数 ...
- 三元运算&匿名函数lambda
lambda # 语法: # 参数 : 返回值 # 1.不带参数的lambda表达式 def func(): return '开挂的人生不需要解释' func = lambda : '开挂的人上不需要 ...
随机推荐
- SQLServer OpenRowSet 导入数据
今早上同事要求从SQLServer2008导出一部分数据到SQLServer2000中作为演示/测试数据,开始也没想多,直接去SQLServer2000的企业管理器中,用了数据导入的功能.以为完事了, ...
- kettle连接oracle出现Error connecting to database: (using class oracle.jdbc.driver.OracleDriver)
jdbc驱动,下载jdbc14.jar文件放入 pdi-ce-5.3.0.0-213\data-integration\libswt\win64里 之后重启kettle即可 jdbc14.jar文 ...
- 原生Ajax使用
Ajax基础 Ajax(Asynchronous JavaScript And XML)概念:通过XMLHttpRequest对象向服务器提出请求并处理响应,进行页面的局部更新. AJAX都有哪些优点 ...
- svn问题解答
一.svn在提交文件是报错:previous operation has not finished;run 'cleanup' if it was interrupted 原因,工作队列被占用,只需在 ...
- Android源代码分析之拍照、图片、录音、视频和音频功能
Android源代码分析之拍照.图片.录音.视频和音频功能 //选择图片 requestCode 返回的标识 Intent innerIntent = new Intent(Intent.ACTI ...
- Request.UrlReferrer详解
使用前需要进行判断: if (Request != null && Request.UrlReferrer != null && Request.UrlReferrer ...
- Unit08: Spring集成mybatis
Unit08: Spring集成mybatis 1. Spring集成mybatis (1)方式一 step1. 导包. spring-webmvc,mybatis,mybatis-spring, o ...
- JAVA-Unit04: SQL(高级查询)
Unit04: SQL(高级查询) 查看SMITH的上司在那个城市工作? SELECT e.ename,m.ename,d.loc FROM emp e,emp m,dept d WHERE e.mg ...
- [欢乐赛]班服 状压DP
班服 (shirt.pas/.c/.cpp) 时间限制:1s:内存限制 128MB 题目描述: 要开运动会了,神犇学校的n个班级要选班服,班服共有100种样式,编号1~100.现在每个班都挑出了一些样 ...
- mysql 查看并修改默认端口号
1. 登录mysql [root@test /]# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands en ...