a, b, c = 1, 2, 3
1.常規(guī)
if a>b:
c = a
else:
c = b
2.表達式
c = a if a>b else b
# 先執(zhí)行中間的if,如果返回True,就是左邊,F(xiàn)alse是右邊。
3.二維列表
c = [b,a][a>b]
# 實際是[b,a][False],因為False被轉(zhuǎn)換為0,所以是[1,2][0],也就是[1]
# False返回第一個,True 返回第一個。
4
c = (a>b and [a] or [b])[0]
#這個比較好玩,F(xiàn)alse and [1] or [2],因為and的優(yōu)先級高于or,先算and
#False和[1] and之后還是False,和[2]or之后卻成了[2]
#rue 和[1] and之后是[1],[1]和[2]or結(jié)果是[1]
#也就是False和True在和別人做boolean運算的時候,根據(jù)and還是or,F(xiàn)和T在前在后有不一樣的數(shù)據(jù)轉(zhuǎn)換規(guī)則。