Python中三元表达式的几种写法介绍


Posted in Python onMarch 04, 2019

要介绍Python的三元表达式,可以先看看其他编程语言比如C,JAVA中应用:

public class java {
 public static void main(String[] args){
 int x = 100;
 int y = 101;
 int MAX = (x > y)? x: y;
 System.out.println("MAX:" + MAX);
 }
}

上面的例子可以很好的说明了其他语言的格式:

判段的条件 ? 条件为真时的结果:条件为假时的结果

而在Python中尽管也有三元表达式,但格式不同,先看下在Python中简单示例

>>> x = 4
>>> y = 99 if x > 3 else 999
>>> y
99

从上面的Python是示例可以看出,Python的三元表达式格式如下:

条件为真时的结果 if 判段的条件 else 条件为假时的结果

适用场景:变量赋值时,要做条件判断时,简化代码时使用。上面就是一个示例。 

先定义变量:

a = 1
b = 2

第一种写法:

erroStr = "More" if a > b else "Less"
print(erroStr) # 运行结果为:Less

第二种写法:

print({True: "More", False: "Less"}[a > b]) # 运行结果为:Less

第三种写法:

print(("FalseValue", "TrueValue")[a > b]) # 运行结果为:FalseValue

其中我们比较常见的是第一种。

第二三种是挺简洁的,但是写在项目里怕是接手的同事要抓狂了。

其他示例:

>>> def Max(x, y):
...   return x if x > y else y
>>> Max(99, 98)
99
>>> Max(78, 88)
88
>>> L = []
>>> x = 2
>>> L.append(100 if x > 1 else 0)
>>> L
[100]
>>> def fib(n):
...   return 1 if n == 1 else fib(n-1) + n
>>> fib(1)
1
>>> fib(5)
15
>>> L = [-2, -4, 0, 2, 5, 8]
>>> list(filter(lambda x:True if x > 0 else False, L))
[2, 5, 8]

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Python 相关文章推荐
Python内置函数bin() oct()等实现进制转换
Dec 30 Python
python网络编程之文件下载实例分析
May 20 Python
pycharm安装图文教程
May 02 Python
python中时间模块的基本使用教程
May 14 Python
解决pyecharts在jupyter notebook中使用报错问题
Apr 23 Python
Laravel框架表单验证格式化输出的方法
Sep 25 Python
深入了解如何基于Python读写Kafka
Dec 31 Python
Python连接Mysql进行增删改查的示例代码
Aug 03 Python
python 如何实现遗传算法
Sep 22 Python
Django中和时区相关的安全问题详解
Oct 12 Python
Python实现Telnet自动连接检测密码的示例
Apr 16 Python
python基础之匿名函数详解
Apr 21 Python
Python生成器的使用方法和示例代码
Mar 04 #Python
Python去除字符串前后空格的几种方法
Mar 04 #Python
python调用外部程序的实操步骤
Mar 04 #Python
Python实现的合并两个有序数组算法示例
Mar 04 #Python
python创造虚拟环境方法总结
Mar 04 #Python
Python3爬楼梯算法示例
Mar 04 #Python
Python3最长回文子串算法示例
Mar 04 #Python
You might like
Yii2 批量插入、更新数据实例
2017/03/15 PHP
Laravel 6.2 中添加了可调用容器对象的方法
2019/10/22 PHP
二级域名转向类
2006/11/09 Javascript
js或css文件后面跟参数的原因说明
2010/01/09 Javascript
JS的encodeURI和java的URLDecoder.decode使用介绍
2014/05/08 Javascript
avalonjs实现仿微博的图片拖动特效
2015/05/06 Javascript
JS实现定时自动关闭DIV层提示框的方法
2015/05/11 Javascript
用户代理字符串userAgent可实现的四个识别
2015/09/20 Javascript
基于jquery实现图片上传本地预览功能
2016/01/08 Javascript
JavaScript正则表达式的分组匹配详解
2016/02/13 Javascript
JS锚点的设置与使用方法
2016/09/05 Javascript
jQuery如何解决IE输入框不能输入的问题
2016/10/08 Javascript
javascript函数的四种调用模式
2017/01/08 Javascript
JavaScript实现简易的天数计算器实例【附demo源码下载】
2017/01/18 Javascript
vue插件draggable实现拖拽移动图片顺序
2018/12/01 Javascript
在vue中根据光标的显示与消失实现下拉列表
2019/09/29 Javascript
详解element-ui级联菜单(城市三级联动菜单)和回显问题
2019/10/02 Javascript
jQuery HTML设置内容和属性操作实例分析
2020/05/20 jQuery
微信小程序实现购物车小功能
2020/12/30 Javascript
[46:37]LGD vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
记录Django开发心得
2014/07/16 Python
Windows上配置Emacs来开发Python及用Python扩展Emacs
2015/11/20 Python
对pandas的层次索引与取值的新方法详解
2018/11/06 Python
django 中的聚合函数,分组函数,F 查询,Q查询
2019/07/25 Python
Python中list的交、并、差集获取方法示例
2019/08/01 Python
Speedo速比涛中国官方网站:全球领先泳装运动品牌
2018/04/24 全球购物
单位成立周年感言
2014/01/26 职场文书
物理力学求职信
2014/02/18 职场文书
《赠汪伦》教学反思
2014/04/12 职场文书
小学感恩教育活动总结
2014/07/07 职场文书
创先争优活动心得体会
2014/09/04 职场文书
2014年保险业务员工作总结
2014/12/23 职场文书
如何写一份成功的商业计划书
2019/06/25 职场文书
2019送给家人们的中秋节祝福语
2019/08/15 职场文书
PyQt5爬取12306车票信息程序的实现
2021/05/14 Python
CSS Transition通过改变Height实现展开收起元素
2021/08/07 HTML / CSS