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 相关文章推荐
web.py在模板中输出美元符号的方法
Aug 26 Python
Python基于pygame实现的弹力球效果(附源码)
Nov 11 Python
在Python的Flask中使用WTForms表单框架的基础教程
Jun 07 Python
Python3安装Scrapy的方法步骤
Nov 23 Python
Python学习之用pygal画世界地图实例
Dec 07 Python
Python学习笔记之自定义函数用法详解
Jun 08 Python
pytorch绘制并显示loss曲线和acc曲线,LeNet5识别图像准确率
Jan 02 Python
在matplotlib中改变figure的布局和大小实例
Apr 23 Python
python按顺序重命名文件并分类转移到各个文件夹中的实现代码
Jul 21 Python
Python如何定义有可选参数的元类
Jul 31 Python
使用numpy nonzero 找出非0元素
May 14 Python
用Python进行栅格数据的分区统计和批量提取
May 27 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
php实现用户在线时间统计详解
2011/10/08 PHP
PIGCMS 如何关闭聊天机器人
2015/02/12 PHP
PHP递归创建多级目录
2015/11/05 PHP
Linux环境下php实现给网站截图的方法
2016/05/03 PHP
PHP反射原理与用法深入分析
2019/09/28 PHP
LazyForm jQuery plugin 定制您的CheckBox Radio和Select
2009/10/24 Javascript
JavaScript 构造函数 面相对象学习必备知识
2010/06/09 Javascript
js对文章内容进行分页示例代码
2014/03/05 Javascript
jQuery中prev()方法用法实例
2015/01/08 Javascript
jQuery+PHP实现可编辑表格字段内容并实时保存
2015/10/09 Javascript
Canvas + JavaScript 制作图片粒子效果
2017/02/08 Javascript
vue2.0的contextmenu右键弹出菜单的实例代码
2017/07/24 Javascript
深入浅析Vue不同场景下组件间的数据交流
2017/08/15 Javascript
微信小程序常用简易小函数总结
2019/02/01 Javascript
js实现多张图片每隔一秒切换一张图片
2019/07/29 Javascript
微信小程序移动拖拽视图-movable-view实例详解
2019/08/17 Javascript
vue实现一个获取按键展示快捷键效果的Input组件
2021/01/13 Vue.js
二种python发送邮件实例讲解(python发邮件附件可以使用email模块实现)
2013/12/03 Python
使用pygame模块编写贪吃蛇的实例讲解
2018/02/05 Python
PyQt5每天必学之切换按钮
2020/08/20 Python
Python 实现微信防撤回功能
2019/04/29 Python
python队列Queue的详解
2019/05/10 Python
利用python-docx模块写批量生日邀请函
2019/08/26 Python
Python传递参数的多种方式(小结)
2019/09/18 Python
python系统指定文件的查找只输出目录下所有文件及文件夹
2020/01/19 Python
keras模型可视化,层可视化及kernel可视化实例
2020/01/24 Python
Python实现ElGamal加密算法的示例代码
2020/06/19 Python
Keras 切换后端方式(Theano和TensorFlow)
2020/06/19 Python
基于OpenCV的路面质量检测的实现
2020/11/04 Python
Bally美国官网:经典瑞士鞋履、手袋及配饰奢侈品牌
2018/05/18 全球购物
传播学专业毕业生自荐信
2013/11/04 职场文书
建筑专业自荐信范文
2014/01/05 职场文书
综合测评自我评价
2015/03/06 职场文书
《我在为谁工作》:工作的质量往往决定生活的质量
2019/12/27 职场文书
Java9新特性对HTTP2协议支持与非阻塞HTTP API
2022/03/16 Java/Android
淡雅古典唯美少女娇媚宁静迷人写真
2022/03/21 杂记