Python中三元表达式的几种写法介绍
作者:杰瑞26 发布时间:2022-01-24 20:10:10
标签:python,三元表达式
要介绍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]
来源:https://blog.csdn.net/Jerry_1126/article/details/87117490
0
投稿
猜你喜欢
- 如何优雅地解析命令行选项随着我们编程经验的增长,对命令行的熟悉程度日渐加深,想来很多人会渐渐地体会到使用命令行带来的高效率。自然而然地,我们
- 我们在使用很多新闻系统的时候,都会发现一个问题,尤其是使用 HtmlEdit 从WORD文档中直接拷贝文章(尤其里面有复杂表格和文字)的时候
- 本文实例讲述了Python素数检测的方法。分享给大家供大家参考。具体如下:因子检测:检测因子,时间复杂度O(n^(1/2))def is_p
- CSS网页布局应该避免滥用div元素一直是我们倡导的,以合适的HTML标签组织文档是CSS网页布局的基础。页面中div与span元素的使用是
- Python中核心的数据类型有哪些?变量(数字、字符串、元组、列表、字典)什么是数据的不可变性?哪些数据类型具有不可变性数据的不可变是指数据
- 一般现今ASP木马常通过以下四点来操作服务器,所以我们只要将一下四处设置好就能从一 前使用IIS服务器的站长很多,特别是对于ASP网站来说,
- 一 代码编排1 缩进4个空格的缩进(编辑器都可以完成此功能),不要使用Tap,更不能混合使用Tap和空格。2 每行最大长度79,换行可以使用
- 使用 substring()或者slice() 函数:split() 功能:使用一个指定的分隔符把一个字符串分割存储到数组 例子: str=
- 本文实例为大家分享了python rsync服务器之间文件夹同步的具体代码,供大家参考,具体内容如下About rsync配置两
- 1. fixture的声明我们使用@pytest.fixture()来声明fixture函数。fixture()即可无参数进行声明,也可以带
- ul设置浮动后不能自适应高度,也就是不能撑开父容器,不能自适应内容的高度。解决方法是在ul结束标签前加个清除浮动。 &
- 这篇文章主要介绍了django序列化serializers过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价
- 当使用Tensorflow训练大量深层的神经网络时,我们希望去跟踪神经网络的整个训练过程中的信息,比如迭代的过程中每一层参数是如何变化与分布
- this指向当前作用域的对象,如果找不到,往上一层找,直到window。this 关键字很好用,很灵活,正因为很灵活,所以一不小心你就会掉进
- 比如说点的是图片的左边,还是右边,上边还是下边?点击图片左右显示上下张,我怎么知道?这样就可以做出像QQ空间那样,打开上一个图片和下一个图片
- 目录你应该拥有的东西安装开始轻敲截图高级点击TemplateMatching滑动打电话给某人从手机下载文件到电脑手机录屏打开手机发送 Wha
- 本文实例讲述了PHP会话控制技巧。分享给大家供大家参考,具体如下:Demo1.php<form method="get&qu
- 简介HTTP协议规定post提交的数据必须放在消息主体中,但是协议并没有规定必须使用什么编码方式。服务端通过是根据请求头中的Content-
- 在函数参数中乱用表达式作为默认值Python允许给一个函数的某个参数设置默认值以使该参数成为一个可选参数。尽管这是这门语言很棒的一个功能,但
- MySQL 客户端连接成功后,通过 show [session|global]status 命令 可以提供服务器状态信息,也可以在操作系统上