lambda 中if-elif-if


一般情況下:

if 條件1:
    語句1
elif 條件2:
    語句2
else:
    語句3

但如果要使用lambda一行表示if多條件,則:

lambda x: 語句1 if 條件1 else 語句2 if 條件2 else 語句3 
# 實際上是下面這樣表達
lambda x: 語句1 if 條件1 else ( 語句2 if 條件2 else 語句3 )

例如: 將S變為0,C變為1,Q變為2:

>>> f = lambda x: 1 if x=="C" else 0 if x=="S" else 2
>>> f("S")
0
>>> f("C")
1
>>> f("Q")
2


>>> f = lambda x: 1 if x=="C" else (0 if x=="S" else 2)
>>> f("C")
1
>>> f("Q")
2
>>> f("S")
0

當然還可以通過一個字典來改變:

>>> di = {"S":0,"C":1,"Q":2}
>>> f = lambda x: di[x]
>>> f("S")
0
>>> f("Q")
2
>>> f("C")
1

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM