1. 程式人生 > >Python If-else 多種寫法讓你看懂大佬程式碼

Python If-else 多種寫法讓你看懂大佬程式碼

Python If-else 多種寫法讓你看懂大佬程式碼

第一種:普通寫法

a, b, c = 1, 2, 3
if a>b:

    c = a

else:

    c = b

第二種:常見一行表示式

為真時放if前

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

第三種:二維列表

a, b, c = 1, 2, 3
c = [b,a][a > b]

利用a>b的判斷結果,0,1作為[b,a]陣列的索引。

第四種:邏輯運算子

c = (a>b and [a] or [b])[0]
# 改編版
c = (a>b and a or b)

利用and的特點,若and前的判斷為假則直接判斷為假
利用or的特點,若or前的判斷為真則判斷為真

# 從前往後找,and找假,or找真
# 前真返後,
print(111 and 222)  # 222
# 前假返前
print(0 and 333)  #0

# 若x真【x】, x假,y真【y】,xy假【y】,只有前真返回前
print(111 or 222) #111
print(0 or 222) #222
print('' or 0) # 0

對於c = (a>b and a or b)而言,
若 a>b
  真:
    則1 and a = a
  假:
    則 0 or b = b