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语言编写电脑时间自动同步小工具
Mar 08 Python
讲解Python中for循环下的索引变量的作用域
Apr 15 Python
Python的Asyncore异步Socket模块及实现端口转发的例子
Jun 14 Python
Python多层装饰器用法实例分析
Feb 09 Python
python 对key为时间的dict排序方法
Oct 17 Python
利用python提取wav文件的mfcc方法
Jan 09 Python
pyqt5使用按钮进行界面的跳转方法
Jun 19 Python
在pycharm中debug 实时查看数据操作(交互式)
Jun 09 Python
Pycharm导入anaconda环境的教程图解
Jul 31 Python
pandas map(),apply(),applymap()区别解析
Feb 24 Python
Python的collections模块真的很好用
Mar 01 Python
python3 删除所有自定义变量的操作
Apr 08 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管理nginx虚拟主机shell脚本实例
2014/11/19 PHP
PHP操作mysql数据库分表的方法
2016/06/09 PHP
PHP简单创建压缩图的方法
2016/08/24 PHP
laravel框架中控制器的创建和使用方法分析
2019/11/23 PHP
js实现文本框中输入文字页面中div层同步获取文本框内容的方法
2015/03/03 Javascript
JS拖动鼠标画出方框实现鼠标选区的方法
2015/08/05 Javascript
基于JavaScript实现网页倒计时自动跳转代码
2015/12/28 Javascript
Bootstrap4一次重大更新 几乎涉及每行代码
2016/05/16 Javascript
AngularJS实现分页显示数据库信息
2016/07/01 Javascript
使用 Node.js 对文本内容分词和关键词抽取
2017/05/27 Javascript
js学习总结之DOM2兼容处理顺序问题的解决方法
2017/07/27 Javascript
基于jQuery的表单填充实例
2017/08/22 jQuery
jQuery事件对象的属性和方法详解
2017/09/09 jQuery
详解如何让Express支持async/await
2017/10/09 Javascript
初识 Vue.js 中的 *.Vue文件
2017/11/22 Javascript
深入理解Vue官方文档梳理之全局API
2017/11/22 Javascript
让bootstrap的carousel支持滑动滚屏的实现代码
2017/11/27 Javascript
nginx部署访问vue-cli搭建的项目的方法
2018/02/12 Javascript
浅析Visual Studio Code断点调试Vue
2018/02/27 Javascript
Python实现的归并排序算法示例
2017/11/21 Python
python批量识别图片指定区域文字内容
2019/04/30 Python
python+selenium实现自动化百度搜索关键词
2019/06/03 Python
Python 使用PyQt5 完成选择文件或目录的对话框方法
2019/06/27 Python
django admin.py 外键,反向查询的实例
2019/07/26 Python
Python解决pip install时出现的Could not fetch URL问题
2019/08/01 Python
使用pytorch搭建AlexNet操作(微调预训练模型及手动搭建)
2020/01/18 Python
经验丰富程序员才知道的8种高级Python技巧
2020/07/27 Python
如何通过安装HomeBrew来安装Python3
2020/12/23 Python
英国汽车零件购物网站:GSF Car Parts
2019/05/23 全球购物
JNI的定义
2012/11/25 面试题
英文版餐饮业求职信
2013/10/18 职场文书
部队领导证婚词
2014/01/12 职场文书
大学校运会广播稿
2014/02/03 职场文书
《沉香救母》教学反思
2014/04/19 职场文书
经营理念口号
2014/06/21 职场文书
咖啡店创业计划书范文
2014/09/15 职场文书