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 pickle类库介绍(对象序列化和反序列化)
Nov 21 Python
初步探究Python程序的执行原理
Apr 11 Python
在Python中使用第三方模块的教程
Apr 27 Python
Windows上使用virtualenv搭建Python+Flask开发环境
Jun 07 Python
Python学习思维导图(必看篇)
Jun 26 Python
Python编程实现蚁群算法详解
Nov 13 Python
Python实现读取及写入csv文件的方法示例
Jan 12 Python
pygame游戏之旅 按钮上添加文字的方法
Nov 21 Python
python字符串循环左移
Mar 08 Python
Python 实现取多维数组第n维的前几位
Nov 26 Python
python如何实现图片压缩
Sep 11 Python
pycharm2020.2 配置使用的方法详解
Sep 16 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 array_push 数组函数
2009/12/26 PHP
PHP进程同步代码实例
2015/02/12 PHP
Codeigniter检测表单post数据的方法
2015/03/21 PHP
PHP实现搜索相似图片
2015/09/22 PHP
php实现解析xml并生成sql语句的方法
2018/02/03 PHP
PHP whois查询类定义与用法示例
2019/04/03 PHP
javascript阻止scroll事件多次执行的思路及实现
2013/11/08 Javascript
使用正则表达式的格式化与高亮显示json字符串
2014/12/03 Javascript
js实现Select下拉框具有输入功能的方法
2015/02/06 Javascript
js全选按钮的实现方法
2015/11/17 Javascript
JavaScript驾驭网页-获取网页元素
2016/03/24 Javascript
JavaScript中匿名函数的递归调用
2017/01/22 Javascript
在Swiper内如何制作CSS3动画效果示例代码
2017/12/07 Javascript
详解angular应用容器化部署
2018/08/14 Javascript
微信小程序实现购物页面左右联动
2019/02/15 Javascript
vue实现新闻展示页的步骤详解
2019/04/11 Javascript
javascript网页随机点名实现过程解析
2019/10/15 Javascript
Vue学习笔记之计算属性与侦听器用法
2019/12/07 Javascript
浅析python 内置字符串处理函数的使用方法
2014/06/11 Python
Python中的多重装饰器
2015/04/11 Python
利用Python实现简单的相似图片搜索的教程
2015/04/23 Python
python学生管理系统开发
2019/01/30 Python
python爬虫实现中英翻译词典
2019/06/25 Python
Python:Numpy 求平均向量的实例
2019/06/29 Python
详解Python Qt的窗体开发的基本操作
2019/07/14 Python
django model的update时auto_now不被更新的原因及解决方式
2020/04/01 Python
Python3基于print打印带颜色字符串
2020/07/06 Python
Python 多进程原理及实现
2020/12/21 Python
英国山地公路自行车商店:Tweeks Cycles
2018/03/16 全球购物
国际领先的在线时尚服装和配饰店:DressLily
2019/03/03 全球购物
安康杯竞赛活动总结
2014/05/05 职场文书
上课随便讲话检讨书
2014/09/12 职场文书
2014年变电站工作总结
2014/12/19 职场文书
护士2015年终工作总结
2015/04/29 职场文书
物业管理交接协议书
2016/03/24 职场文书
CentOS7和8下安装Maven3.8.4
2022/04/07 Servers