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制作数据导入导出工具
Jul 31 Python
Python检测生僻字的实现方法
Oct 23 Python
Python基于whois模块简单识别网站域名及所有者的方法
Apr 23 Python
Tensorflow中使用tfrecord方式读取数据的方法
Jun 19 Python
Python实现正则表达式匹配任意的邮箱方法
Dec 20 Python
Python文件打开方式实例详解【a、a+、r+、w+区别】
Mar 30 Python
python自动化测试之DDT数据驱动的实现代码
Jul 23 Python
Django对接支付宝实现支付宝充值金币功能示例
Dec 17 Python
python3操作注册表的方法(Url protocol)
Feb 05 Python
Python学习笔记之装饰器
Aug 06 Python
Python自定义sorted排序实现方法详解
Sep 18 Python
Pandas 稀疏数据结构的实现
Jul 25 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新手上路(十三)
2006/10/09 PHP
php中error与exception的区别及应用
2014/07/28 PHP
详解强大的jQuery选择器之基本选择器、层次选择器
2012/02/07 Javascript
javascript二维数组转置实例
2015/01/22 Javascript
javascript中indexOf技术详解
2015/05/07 Javascript
js实现的动画导航菜单效果代码
2015/09/10 Javascript
JS实现滑动菜单效果代码(包括Tab,选项卡,横向等效果)
2015/09/24 Javascript
十个免费的web前端开发工具详细整理
2017/09/18 Javascript
bootstrap table实现点击翻页功能 可记录上下页选中的行
2017/09/28 Javascript
vue实现某元素吸顶或固定位置显示(监听滚动事件)
2017/12/13 Javascript
使用vue-aplayer插件时出现的问题的解决
2018/03/02 Javascript
Node.js应用设置安全的沙箱环境
2018/04/23 Javascript
vue里面v-bind和Props 利用props绑定动态数据的方法
2018/08/27 Javascript
layui 上传插件 带预览 非自动上传功能的实例(非常实用)
2019/09/23 Javascript
微信小程序缓存支持二次开发封装实现解析
2019/12/16 Javascript
浅谈在vue-cli3项目中解决动态引入图片img404的问题
2020/08/04 Javascript
vue中提示$index is not defined错误的解决方式
2020/09/02 Javascript
antd form表单数据回显操作
2020/11/02 Javascript
vue使用vant中的checkbox实现全选功能
2020/11/17 Vue.js
Python基于Tkinter实现的记事本实例
2015/06/17 Python
Python的爬虫包Beautiful Soup中用正则表达式来搜索
2016/01/20 Python
深入分析python中整型不会溢出问题
2018/06/18 Python
python或C++读取指定文件夹下的所有图片
2019/08/31 Python
Windows上安装tensorflow  详细教程(图文详解)
2020/02/04 Python
浅析Python 条件控制语句
2020/07/15 Python
pycharm使用技巧之自动调整代码格式总结
2020/11/04 Python
Python字符串对齐、删除字符串不需要的内容以及格式化打印字符
2021/01/23 Python
澳大利亚领先的在线机械五金、园艺和存储专家:Edisons
2018/03/24 全球购物
初中生学习的自我评价
2013/11/14 职场文书
部队领导证婚词
2014/01/12 职场文书
《月光启蒙》教学反思
2014/03/01 职场文书
教师求职自荐信
2014/03/09 职场文书
学习三严三实心得体会
2014/10/13 职场文书
个人年终总结范文
2015/03/09 职场文书
公务员廉洁从政心得体会
2016/01/19 职场文书
MySQL 如何分析查询性能
2021/05/12 MySQL