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 10 Python
详解Python中的多线程编程
Apr 09 Python
Python开发中爬虫使用代理proxy抓取网页的方法示例
Sep 26 Python
pyhton列表转换为数组的实例
Apr 04 Python
Python中的十大图像处理工具(小结)
Jun 10 Python
Ubuntu下Anaconda和Pycharm配置方法详解
Jun 14 Python
python使用sessions模拟登录淘宝的方式
Aug 16 Python
Python 解决OPEN读文件报错 ,路径以及r的问题
Dec 19 Python
解决Tensorboard可视化错误:不显示数据 No scalar data was found
Feb 15 Python
Python turtle库的画笔控制说明
Jun 28 Python
Python return语句如何实现结果返回调用
Oct 15 Python
matplotlib之pyplot模块之标题(title()和suptitle())
Feb 22 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开发者事半功倍的十大技巧小结
2010/04/20 PHP
php empty()与isset()区别的详细介绍
2013/06/17 PHP
Laravel中使用自己编写类库的3种方法
2015/02/10 PHP
PHP 实现字符串翻转(包含中文汉字)的实现代码
2017/04/01 PHP
phpstorm 正则匹配删除空行、注释行(替换注释行为空行)
2018/01/21 PHP
CentOS7.0下安装PHP5.6.30服务的教程详解
2018/09/29 PHP
thinkPHP5.1框架使用SemanticUI实现分页功能示例
2019/08/03 PHP
原始的js代码和jquery对比体会
2013/09/10 Javascript
jQuery中has()方法用法实例
2015/01/06 Javascript
JavaScript实现LI列表数据绑定的方法
2015/08/04 Javascript
jQuery实现textarea自动增长宽高的方法
2015/12/18 Javascript
DeviceOne 让你一见钟情的App快速开发平台
2016/02/17 Javascript
AngularJs 60分钟入门基础教程
2016/04/03 Javascript
Jquery on绑定的事件 触发多次实例代码
2016/12/08 Javascript
深入解析nodejs HTTP服务
2017/07/25 NodeJs
vue router使用query和params传参的使用和区别
2017/11/13 Javascript
对vue里函数的调用顺序介绍
2018/03/17 Javascript
express默认日志组件morgan的方法
2018/04/05 Javascript
Vue2.0学习系列之项目上线的方法步骤(图文)
2018/09/25 Javascript
python3实现读取chrome浏览器cookie
2016/06/19 Python
如何将python中的List转化成dictionary
2016/08/15 Python
深入解答关于Python的11道基本面试题
2017/04/01 Python
Python实现基于二叉树存储结构的堆排序算法示例
2017/12/08 Python
利用python 更新ssh 远程代码 操作远程服务器的实现代码
2018/02/08 Python
Python实现购物车购物小程序
2018/04/18 Python
python3.5 email实现发送邮件功能
2018/05/22 Python
pytorch绘制并显示loss曲线和acc曲线,LeNet5识别图像准确率
2020/01/02 Python
python如何绘制疫情图
2020/09/16 Python
python 用opencv实现图像修复和图像金字塔
2020/11/27 Python
打造高效课堂实施方案
2014/03/22 职场文书
化妆品活动策划方案
2014/05/23 职场文书
永远跟党走演讲稿
2014/09/12 职场文书
就业意向协议书
2015/01/29 职场文书
2016年“世界环境日”校园广播稿
2015/12/18 职场文书
html实现随机点名器的示例代码
2021/04/02 Javascript
python使用pywinauto驱动微信客户端实现公众号爬虫
2021/05/19 Python