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中字典创建、遍历、添加等实用操作技巧合集
Jun 02 Python
python修改字典内key对应值的方法
Jul 11 Python
详解Python中类的定义与使用
Apr 11 Python
Python使用filetype精确判断文件类型
Jul 02 Python
详解如何用django实现redirect的几种方法总结
Nov 22 Python
python 多个参数不为空校验方法
Feb 14 Python
使用django的ORM框架按月统计近一年内的数据方法
Jul 18 Python
python实现猜拳小游戏
Apr 05 Python
从多个tfrecord文件中无限读取文件的例子
Feb 17 Python
python中的django是做什么的
Jul 31 Python
区分python中的进程与线程
Aug 13 Python
pycharm2020.1.2永久破解激活教程,实测有效
Oct 29 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
浅析Yii2 GridView实现下拉搜索教程
2016/04/22 PHP
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
2017/11/14 PHP
PHP7匿名类的用法示例
2019/04/05 PHP
JavaScript 事件参考手册
2008/12/24 Javascript
实现png图片和png背景透明(支持多浏览器)的方法
2009/09/08 Javascript
Js 代码中,ajax请求地址后加随机数防止浏览器缓存的原因
2013/05/07 Javascript
使用jQuery和Bootstrap实现多层、自适应模态窗口
2014/12/22 Javascript
jquery实现浮动在网页右下角的彩票开奖公告窗口代码
2015/09/04 Javascript
基于HTML+CSS+JS实现增加删除修改tab导航特效代码
2016/08/05 Javascript
bootstrap——bootstrapTable实现隐藏列的示例
2017/01/14 Javascript
ES6中class类用法实例浅析
2017/04/06 Javascript
angular.js指令中transclude选项及ng-transclude指令详解
2017/05/24 Javascript
vue使用vue-cli快速创建工程
2017/07/28 Javascript
Vue.js 通过jQuery ajax获取数据实现更新后重新渲染页面的方法
2018/08/09 jQuery
JS实现字符串翻转的方法分析
2018/08/31 Javascript
jQuery序列化form表单数据为JSON对象的实现方法
2018/09/20 jQuery
小程序实现人脸识别功能(百度ai)
2018/12/23 Javascript
微信小程序封装自定义弹窗的实现代码
2019/05/08 Javascript
python 判断一个进程是否存在
2009/04/09 Python
简单了解什么是神经网络
2017/12/23 Python
selenium+python 对输入框的输入处理方法
2018/10/11 Python
pycharm新建一个python工程步骤
2019/07/16 Python
python add_argument()用法解析
2020/01/29 Python
python sklearn包——混淆矩阵、分类报告等自动生成方式
2020/02/28 Python
python生成并处理uuid的实现方式
2020/03/03 Python
基于Keras中Conv1D和Conv2D的区别说明
2020/06/19 Python
中国旅游网站:同程旅游
2016/09/11 全球购物
在线购买廉价折扣书籍和小说:BookOutlet.com
2018/02/19 全球购物
称象教学反思
2014/02/03 职场文书
优秀技术工人先进材料
2014/02/17 职场文书
药剂专业个人求职信范文
2014/04/29 职场文书
涨价通知怎么写
2015/04/23 职场文书
《鲁班学艺》读后感3篇
2019/11/27 职场文书
sql注入报错之注入原理实例解析
2022/06/10 MySQL
Linux中各个目录的作用与内容
2022/06/28 Servers
Go gorilla securecookie库的安装使用详解
2022/08/14 Golang