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 相关文章推荐
Python3 socket同步通信简单示例
Jun 07 Python
聊聊Python中的pypy
Jan 12 Python
Python中列表与元组的乘法操作示例
Feb 10 Python
Python面向对象类继承和组合实例分析
May 28 Python
Python3实现转换Image图片格式
Jun 21 Python
numpy数组之存取文件的实现示例
May 24 Python
Python pandas DataFrame操作的实现代码
Jun 21 Python
Django用户认证系统 Web请求中的认证解析
Aug 02 Python
python基于TCP实现的文件下载器功能案例
Dec 10 Python
10个python爬虫入门实例(小结)
Nov 01 Python
详解Python+Selenium+ChromeDriver的配置和问题解决
Jan 19 Python
Python中非常使用的6种基本变量的操作与技巧
Mar 22 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
web站点获取用户IP的安全方法 HTTP_X_FORWARDED_FOR检验
2013/06/01 PHP
ThinkPHP CURD方法之table方法详解
2014/06/18 PHP
PHP中使用xmlreader读取xml数据示例
2014/12/29 PHP
php判断文件夹是否存在不存在则创建
2015/04/09 PHP
php 数组随机取值的简单实例
2016/05/23 PHP
javascript之对系统的toFixed()方法的修正
2007/05/08 Javascript
js 遍历对象的属性的代码
2011/12/29 Javascript
JavaScript 基础篇之对象、数组使用介绍(三)
2012/04/07 Javascript
javascript工厂方式定义对象
2014/12/26 Javascript
JS点击链接后慢慢展开隐藏着图片的方法
2015/02/17 Javascript
怎么引入(调用)一个JS文件
2016/05/26 Javascript
nodejs模块学习之connect解析
2017/07/05 NodeJs
jQuery实现腾讯信用界面(自制刻度尺)样式
2017/08/15 jQuery
浅谈vue首屏加载优化
2018/06/28 Javascript
Elasticsearch实现复合查询高亮结果功能
2019/09/10 Javascript
使用Karma做vue组件单元测试的实现
2020/01/16 Javascript
[44:01]2018DOTA2亚洲邀请赛3月30日 小组赛B组 EG VS paiN
2018/03/31 DOTA
python使用clear方法清除字典内全部数据实例
2015/07/11 Python
python的else子句使用指南
2016/02/27 Python
Python中字典(dict)合并的四种方法总结
2017/08/10 Python
Python 访问限制 private public的详细介绍
2018/10/16 Python
利用python和百度地图API实现数据地图标注的方法
2019/05/13 Python
python登录WeChat 实现自动回复实例详解
2019/05/28 Python
在python中实现同行输入/接收多个数据的示例
2019/07/20 Python
python 牛顿法实现逻辑回归(Logistic Regression)
2020/10/15 Python
HOTEL INFO英国:搜索全球酒店
2019/08/08 全球购物
下述程序的作用是计算机数组中的最大元素值及其下标
2012/11/26 面试题
应届实习生的自我评价范文
2014/01/05 职场文书
大学军训感言600字
2014/02/25 职场文书
党的群众路线教育实践活动动员会主持词
2014/03/20 职场文书
电子专业自荐信
2014/07/01 职场文书
小学生毕业评语
2014/12/26 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
某某幼儿园的教育教学管理调研分析报告
2019/11/29 职场文书
Win11开始菜单添加休眠选项
2022/04/19 数码科技
nginx静态资源的服务器配置方法
2022/07/07 Servers