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判断的条件,当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前端网发表,如需转载,请注明页面地址。
上一篇:关于如何使用Python生成器的学习笔记和示例代码 下一篇:PyQt5
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。