您好,登錄后才能下訂單哦!
這篇文章主要講解了“python如何判斷第一個數與第二個數”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“python如何判斷第一個數與第二個數”吧!
cmp = lambda a, b: 0 if a == b else 1 if a > b else -1print(cmp(3,2))print(cmp(2,3))print(cmp(2,2))out:1-10
以上代碼直接讀可能比較難懂,我把它拆分一下:
def cmp2(a, b):if a == b:return 0else:if a > b:return 1else:return -1print(cmp2(3, 2))print(cmp2(2, 3))print(cmp2(2, 2))out:1-10
可以看到上述2個函數功能完全一致,第一種寫法簡潔的多!
再來熟悉一下這種寫法:
0 if a == b else (1 if a > b else -1)
這種語句是三元表達式嵌套三元表達式的結構,從左向右計算。
三元表達式首先找if,找到if判斷a ==b (判斷元素):
若該條件滿足則返回if左邊的0(結果元素1)作為整個表達式的運算結果。
若該判斷條件不滿足則返回判斷條件右邊的三元表達式(結果元素2)。
右邊仍然是三元表達式,繼續計算該三元表達式,找到if判斷a>b(判斷元素):
若該條件滿足則返回if左邊的1(結果元素1)作為整個表達式的運算結果。
若該判斷條件不滿足則返回判斷條件右邊的-1(結果元素2)作為整個表達式的運算結果。
python的三元表達式非常靈活,從上述案例中可以學習到三元表達式的結果元素可以是三元表達式,也就是說三元表達式可以嵌套三元表達式使用。
補充一下:
三元表達式的判斷元素、結果元素1、結果元素2都可以是表達式。
案例如下:
假設要比較2個數,不相等返回1,相等返回0。
cmp = lambda a,b:1 if a-b else 0
print(cmp(2,3))
print(cmp(2,2))
可以看到判斷條件不是比較運算符!實際上是根據a-b判斷,值不等于0返回左邊(結果元素1),等于0返回右邊(結果元素2)。
三元表達式在三個元素都能用一個表達式完成的時候非常適用。
感謝各位的閱讀,以上就是“python如何判斷第一個數與第二個數”的內容了,經過本文的學習后,相信大家對python如何判斷第一個數與第二個數這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。