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+selenium实现京东自动登录及秒杀功能
Nov 18 Python
分享6个隐藏的python功能
Dec 07 Python
python实现协同过滤推荐算法完整代码示例
Dec 15 Python
Python设计模式之代理模式简单示例
Jan 09 Python
Python中常用信号signal类型实例
Jan 25 Python
在matplotlib的图中设置中文标签的方法
Dec 13 Python
从运行效率与开发效率比较Python和C++
Dec 14 Python
在python中使用with打开多个文件的方法
Jan 07 Python
python实现静态服务器
Sep 05 Python
python判断无向图环是否存在的示例
Nov 22 Python
pytorch方法测试——激活函数(ReLU)详解
Jan 15 Python
python实现简易自习室座位预约系统
Jun 30 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 查找字符串常用函数介绍
2012/06/07 PHP
php开发文档 会员收费1期
2012/08/14 PHP
php object转数组示例
2014/01/15 PHP
PHP创建/删除/复制文件夹、文件
2016/05/03 PHP
PHP编写简单的App接口
2016/08/28 PHP
php ajax数据传输和响应方法
2018/08/21 PHP
laravel入门知识点整理
2020/09/15 PHP
实现动画效果核心方式的js代码
2013/09/27 Javascript
深入浅析JavaScript系列(13):This? Yes,this!
2016/01/05 Javascript
jQuery实现的placeholder效果完整实例
2016/08/02 Javascript
JS中判断null的方法分析
2016/11/21 Javascript
JS中from 表单序列化提交的代码
2017/01/20 Javascript
js 概率计算(简单版)
2017/09/12 Javascript
vue中倒计时组件的实例代码
2018/07/06 Javascript
javascript实现小型区块链功能
2019/04/03 Javascript
Android 兼容性问题:java.lang.UnsupportedOperationException解决办法
2017/03/19 Python
Python中如何优雅的合并两个字典(dict)方法示例
2017/08/09 Python
Python将list中的string批量转化成int/float的方法
2018/06/26 Python
python http基本验证方法
2018/12/26 Python
Python爬虫 批量爬取下载抖音视频代码实例
2019/08/16 Python
Python使用itchat模块实现群聊转发,自动回复功能示例
2019/08/26 Python
python3 map函数和filter函数详解
2019/08/26 Python
python日志模块logbook使用方法
2019/09/19 Python
在Pytorch中计算卷积方法的区别详解(conv2d的区别)
2020/01/03 Python
Python插入Elasticsearch操作方法解析
2020/01/19 Python
雅诗兰黛(Estee Lauder)英国官方网站:世界顶级化妆品牌
2016/12/29 全球购物
便携式太阳能系统的创新者:GOAL ZERO
2018/02/04 全球购物
Topshop法国官网:英国快速时尚品牌
2018/04/08 全球购物
园林施工员岗位职责
2013/12/11 职场文书
综合办公室个人的自我评价
2013/12/22 职场文书
转预备党员政审材料
2014/02/06 职场文书
学校食品安全责任书
2015/01/29 职场文书
优秀学生主要事迹怎么写
2015/11/04 职场文书
golang判断key是否在map中的代码
2021/04/24 Golang
Python 制作自动化翻译工具
2021/04/25 Python
windows10声卡驱动怎么安装?win10声卡驱动安装操作步骤教程
2022/08/05 数码科技