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 enumerate遍历数组示例应用
Sep 06 Python
Python lxml模块安装教程
Jun 02 Python
flask + pymysql操作Mysql数据库的实例
Nov 13 Python
Python获取CPU、内存使用率以及网络使用状态代码
Feb 08 Python
python 通过xml获取测试节点和属性的实例
Mar 31 Python
python微元法计算函数曲线长度的方法
Nov 08 Python
django小技巧之html模板中调用对象属性或对象的方法
Nov 30 Python
python实现爬山算法的思路详解
Apr 09 Python
Python 分发包中添加额外文件的方法
Aug 16 Python
tensorflow 保存模型和取出中间权重例子
Jan 24 Python
python数据预处理方式 :数据降维
Feb 24 Python
python+django+selenium搭建简易自动化测试
Aug 19 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中突破基于HTTP_REFERER的防盗链措施(stream_context_create)
2011/03/29 PHP
一个PHP的远程图片抓取函数分享
2013/09/25 PHP
PHP连接及操作PostgreSQL数据库的方法详解
2019/01/30 PHP
php使用curl模拟多线程实现批处理功能示例
2019/07/25 PHP
JQuery自定义事件的应用 JQuery最佳实践
2010/08/01 Javascript
JS target与currentTarget区别说明
2011/08/28 Javascript
ASP.NET jQuery 实例1(在TextBox里面创建一个默认提示)
2012/01/13 Javascript
浅谈JavaScript数据类型
2015/03/03 Javascript
Javascript中的匿名函数与封装介绍
2015/03/15 Javascript
jQuery团购倒计时特效实现方法
2015/05/07 Javascript
js全选按钮的实现方法
2015/11/17 Javascript
原生JavaScript实现异步多文件上传
2015/12/02 Javascript
jquery实时获取时间的简单实例
2017/01/26 Javascript
JS实现AES加密并与PHP互通的方法分析
2017/04/19 Javascript
详解node child_process模块学习笔记
2018/01/24 Javascript
使用D3.js构建实时图形的示例代码
2018/08/28 Javascript
vue2.0 实现富文本编辑器功能
2019/05/26 Javascript
python使用calendar输出指定年份全年日历的方法
2015/04/04 Python
Python中几种操作字符串的方法的介绍
2015/04/09 Python
Python3实现Web网页图片下载
2016/01/28 Python
Python实现树莓派WiFi断线自动重连的实例代码
2017/03/16 Python
Python中numpy模块常见用法demo实例小结
2019/03/16 Python
解决pyinstaller打包运行程序时出现缺少plotly库问题
2020/06/02 Python
使用Keras建立模型并训练等一系列操作方式
2020/07/02 Python
Python绘图之柱形图绘制详解
2020/07/28 Python
Python 如何调试程序崩溃错误
2020/08/03 Python
西班牙土拨鼠床垫公司,感觉在云端:Marmota
2019/03/18 全球购物
英国最大的汽车配件在线商店:Euro Car Parts
2019/09/30 全球购物
《小儿垂钓》教学反思
2014/02/23 职场文书
美术指导助理求职信
2014/04/20 职场文书
2014和解协议书范文
2014/09/15 职场文书
卖车协议书范本4篇
2014/10/01 职场文书
2014年效能监察工作总结
2014/11/21 职场文书
2015年度内部审计工作总结
2015/05/20 职场文书
班主任经验交流心得体会
2015/11/02 职场文书
合作意向书范本
2019/04/17 职场文书