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通过邮件服务器端口发送邮件的方法
Apr 30 Python
python爬取w3shcool的JQuery课程并且保存到本地
Apr 06 Python
Python实现简单的获取图片爬虫功能示例
Jul 12 Python
Tornado高并发处理方法实例代码
Jan 15 Python
详解如何在python中读写和存储matlab的数据文件(*.mat)
Feb 24 Python
Python爬虫包BeautifulSoup异常处理(二)
Jun 17 Python
对python sklearn one-hot编码详解
Jul 10 Python
Python函数参数操作详解
Aug 03 Python
Python基于scipy实现信号滤波功能
May 08 Python
PYQT5 vscode联合操作qtdesigner的方法
Mar 24 Python
python 下载文件的多种方法汇总
Nov 17 Python
手把手教你实现PyTorch的MNIST数据集
Jun 28 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读取csv文件并输出的方法
2015/03/14 PHP
php抽象类用法实例分析
2015/07/07 PHP
PHP删除数组中特定元素的两种方法
2019/02/28 PHP
常用js脚本
2006/12/03 Javascript
XML+XSL 与 HTML 两种方案的结合
2007/04/22 Javascript
javascript web对话框与弹出窗口
2009/02/22 Javascript
javascript控制swfObject应用介绍
2012/11/29 Javascript
jquery创建一个ajax关键词数据搜索实现思路
2013/02/26 Javascript
JS教程:window.location使用方法的区别介绍
2013/10/04 Javascript
在JS中如何调用JSP中的变量
2014/01/22 Javascript
IE浏览器不支持getElementsByClassName的解决方法
2014/08/27 Javascript
jquery Validation表单验证使用详解
2020/09/12 Javascript
JavaScript AOP编程实例
2015/06/16 Javascript
javascript实现的淘宝旅行通用日历组件用法实例
2015/08/03 Javascript
jQuery树形下拉菜单特效代码分享
2015/08/15 Javascript
深入浅析JavaScript中的3DES
2016/08/24 Javascript
微信小程序 navigation API实例详解
2016/10/02 Javascript
深入对Vue.js $watch方法的理解
2017/03/20 Javascript
微信小程序教程系列之新建页面(4)
2017/04/17 Javascript
js原生代码实现轮播图的实例讲解
2017/07/28 Javascript
在原生不支持的旧环境中添加兼容的Object.keys实现方法
2017/09/11 Javascript
详解JS转换数值函数Number()、parseInt()、parseFloat()
2018/08/24 Javascript
微信小程序tabbar底部导航
2018/11/05 Javascript
vue router 用户登陆功能的实例代码
2019/04/24 Javascript
[34:56]Ti4冒泡赛LGD vs Liquid 1
2014/07/14 DOTA
Python ORM框架SQLAlchemy学习笔记之映射类使用实例和Session会话介绍
2014/06/10 Python
python自带的http模块详解
2016/11/06 Python
python利用正则表达式排除集合中字符的功能示例
2017/10/10 Python
python使用pygame框架实现推箱子游戏
2018/11/20 Python
django使用admin站点上传图片的实例
2019/07/28 Python
基于HTML5 的人脸识别活体认证的实现方法
2016/06/22 HTML / CSS
马来西亚在线健康商店:Medipal Malaysia
2020/04/13 全球购物
英国婴儿产品专家:Samuel Johnston
2020/04/20 全球购物
2015年个人剖析材料范文
2014/12/29 职场文书
MySQL 8.0 Online DDL快速加列的相关总结
2021/06/02 MySQL
Redis性能监控的实现
2021/07/09 Redis