在Python中尽管也有三元表达式,但格式不同,先看下在Python中简单示例
1
2
3
4
|
>>> x =
4
>>> y =
99
if
x > 3
else
999
>>> y
99
|
从上面的Python是示例可以看出,Python的三元表达式格式如下:
条件为真时的结果 if 判段的条件 else 条件为假时的结果
适用场景:变量赋值时,要做条件判断时,简化代码时使用。上面就是一个示例。
先定义变量:
1
2
|
a =
1
b =
2
|
第一种写法:
1
2
|
erroStr =
"More"
if
a > b else
"Less"
print (erroStr) # 运行结果为:Less
|
第二种写法:
1
|
print ({ True : "More" , False : "Less" }[a > b]) # 运行结果为:Less
|
第三种写法:
1
|
print (( "FalseValue" , "TrueValue" )[a > b]) # 运行结果为:FalseValue
|
其中我们比较常见的是第一种。
第二三种是挺简洁的,但是写在项目里怕是接手的同事要抓狂了。
其他示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
>>> 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 ]
|