Code前端首页关于Code前端联系我们

Python 中三元表达式的书写方式很多

terry 2年前 (2023-09-25) 阅读数 50 #后端开发

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判断的条件,当the condition is false

实用故事:变量赋值 在进行条件判断时,在简化代码时使用它。以上是一个例子。

先定义变量:

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]

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门