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 21 Python
python3.5使用tkinter制作记事本
Jun 20 Python
Python中datetime模块参考手册
Jan 13 Python
Python编程实现数学运算求一元二次方程的实根算法示例
Apr 02 Python
django连接mysql配置方法总结(推荐)
Aug 18 Python
详解Python 调用C# dll库最简方法
Jun 20 Python
如何利用Anaconda配置简单的Python环境
Jun 24 Python
利用ImageAI库只需几行python代码实现目标检测
Aug 09 Python
详解python 中in 的 用法
Dec 12 Python
Django实现任意文件上传(最简单的方法)
Jun 03 Python
scrapy与selenium结合爬取数据(爬取动态网站)的示例代码
Sep 28 Python
OpenCV实现机器人对物体进行移动跟随的方法实例
Nov 09 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中Session文件过多的问题及session文件保存位置
2016/03/17 PHP
PHP  Yii清理缓存的实现方法
2016/11/10 PHP
PHP添加文字水印或图片水印的水印类完整源代码与使用示例
2019/03/18 PHP
Javascript学习笔记7 原型链的原理
2010/01/11 Javascript
[JSF]使用DataModel处理表行事件的实例代码
2013/08/05 Javascript
javascript显示上周、上个月日期的处理方法
2016/02/03 Javascript
浅谈js里面的InttoStr和StrtoInt
2016/06/14 Javascript
vue2.0 与 bootstrap datetimepicker的结合使用实例
2017/05/22 Javascript
详解HTTPS 的原理和 NodeJS 的实现
2017/07/04 NodeJs
vue 中基于html5 drag drap的拖放效果案例分析
2018/11/01 Javascript
JS基于对象的链表实现与使用方法示例
2019/01/31 Javascript
JavaScript数据结构与算法之二叉树插入节点、生成二叉树示例
2019/02/21 Javascript
jsonp跨域获取百度联想词的方法分析
2019/05/13 Javascript
vue draggable resizable gorkys与v-chart使用与总结
2019/09/05 Javascript
vue实现购物车小案例
2019/09/27 Javascript
[09:37]DOTA2卡尔工作室 英雄介绍圣堂刺客篇
2013/06/13 DOTA
python正则表达式re模块详细介绍
2014/05/29 Python
python实现无证书加密解密实例
2014/10/27 Python
python获取当前计算机cpu数量的方法
2015/04/18 Python
值得收藏,Python 开发中的高级技巧
2018/11/23 Python
Python闭包思想与用法浅析
2018/12/27 Python
python和c语言的主要区别总结
2019/07/07 Python
python飞机大战pygame游戏框架搭建操作详解
2019/12/17 Python
Python 元组拆包示例(Tuple Unpacking)
2019/12/24 Python
Python读入mnist二进制图像文件并显示实例
2020/04/24 Python
Python根据字典的值查询出对应的键的方法
2020/09/30 Python
python实现scrapy爬虫每天定时抓取数据的示例代码
2021/01/27 Python
css3弹性盒模型实例介绍
2013/05/27 HTML / CSS
世界最大域名注册商:GoDaddy
2016/07/24 全球购物
Pam & Gela官网:美国性感前卫女装品牌
2018/07/19 全球购物
食品安全处置方案
2014/06/14 职场文书
2014年店长工作总结
2014/11/17 职场文书
会计主管岗位职责
2015/04/02 职场文书
汽车销售员工作总结
2015/08/12 职场文书
将Python代码打包成.exe可执行文件的完整步骤
2021/05/12 Python
Python语法学习之进程的创建与常用方法详解
2022/04/08 Python