您好,登錄后才能下訂單哦!
這篇文章給大家介紹Python中怎么實(shí)現(xiàn)三元表達(dá)式嵌套,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
請(qǐng)看代碼案例:
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
以上代碼的功能是對(duì)兩個(gè)數(shù)進(jìn)行比較,若第一個(gè)數(shù)等于第二個(gè)數(shù)返回0;若第一個(gè)數(shù)大于第二個(gè)數(shù)返回1;若第一個(gè)數(shù)小于第二個(gè)數(shù)返回-1。
直接看是不是比較懵?我把它拆分一下,換一種寫法,會(huì)容易懂得多。
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個(gè)函數(shù)功能完全一致,第一種寫法簡(jiǎn)潔的多!
再來(lái)熟悉一下這種寫法,為了便于理解我多加了對(duì)括號(hào):
0 if a == b else (1 if a > b else -1)
這種語(yǔ)句是三元表達(dá)式嵌套三元表達(dá)式的結(jié)構(gòu),從左向右計(jì)算。
三元表達(dá)式首先找if,找到if判斷a ==b (判斷元素):
若該條件滿足則返回if左邊的0(結(jié)果元素1)作為整個(gè)表達(dá)式的運(yùn)算結(jié)果。
若該判斷條件不滿足則返回判斷條件右邊的三元表達(dá)式(結(jié)果元素2)。
右邊仍然是三元表達(dá)式,繼續(xù)計(jì)算該三元表達(dá)式,找到if判斷a>b(判斷元素):
若該條件滿足則返回if左邊的1(結(jié)果元素1)作為整個(gè)表達(dá)式的運(yùn)算結(jié)果。
若該判斷條件不滿足則返回判斷條件右邊的-1(結(jié)果元素2)作為整個(gè)表達(dá)式的運(yùn)算結(jié)果。
python的三元表達(dá)式非常靈活,從上述案例中可以學(xué)習(xí)到三元表達(dá)式的結(jié)果元素可以是三元表達(dá)式,也就是說三元表達(dá)式可以嵌套三元表達(dá)式使用。
關(guān)于Python中怎么實(shí)現(xiàn)三元表達(dá)式嵌套就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。