亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.430618.com 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747



Python/ target=_blank class=infotextkey>Python的三元表達式相信學過python的朋友都會。但是大部分學python的朋友不知道的是三元表達式還可以嵌套三元表達式。

請看代碼案例:

cmp = lambda a, b: 0 if a == b else 1 if a > b else -1

print(cmp(3,2))
print(cmp(2,3))
print(cmp(2,2))

out:
1
-1
0

以上代碼的功能是對兩個數進行比較,若第一個數等于第二個數返回0;若第一個數大于第二個數返回1;若第一個數小于第二個數返回-1。

直接看是不是比較懵?我把它拆分一下,換一種寫法,會容易懂得多。

def cmp2(a, b):
    if a == b:
        return 0
    else:
        if a > b:
            return 1
        else:
            return -1

print(cmp2(3, 2))
print(cmp2(2, 3))
print(cmp2(2, 2))

out:
1
-1
0

可以看到上述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的三元表達式非常靈活,從上述案例中可以學習到三元表達式的結果元素可以是三元表達式,也就是說三元表達式可以嵌套三元表達式使用。

三元表達式嵌套三元表達式的結構并不難懂,熟練掌握以后會讓你的代碼更簡潔,用三元表達式嵌套三元表達式感覺比用if else if else瞬間高大上了很多,嘻嘻。

歡迎學python的朋友關注我,我會經常更新深入學python的知識點。

分享到:
標簽:表達式 python
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定