首页 > 技术文章 > python

wdz1226 2018-12-26 19:55 原文

 三元条件判断

a,b=2,3
c=a if a>b else b

 

 a,b=2,1
 c=a if a>b else b
print(c)

 

利用and-or条件判断的特性来实现三元条件判断

首先介绍一下,and和or的用法:
python 中的and从左到右计算表达式,若所有值均为真,则返回最后一个值,若存在假,返回第一个假值。
无论是列表,元组还是字符串,空表示False,非空表示True

print('python' and [] and (2,3))

[]
print('python' and [2,3] and (3,4))

(3,4)

 


or 也是从左到右计算表达式,存在真,则返回第一个为真的值,若均为假,则返回最后一个值。

print('python' or [3,4] or ())
python'
print( ''or [] or ())

()

 


然后,我们利用and-or条件判断的特性来实现三元条件判断:

a,b=1,2
c = (a>b and [a] or [b])

print (c)
[2]

 

使用列表

 a,b=2,7
 c = [b,a][a>b]
 print c 

 

分析:若a>b为真,由于真用1表示,因此相当于c=[b,a][1],即c=a

 若a>b为假,由于假用0表示,因此相当于c=[b,a][0],即c=b

 int(False)
0
int(True)
 1

 

 

推荐阅读