偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Python之三元表達式嵌套三元表達式解析

開發(fā) 后端
Python的三元表達式相信學過python的朋友都會。但是大部分學python的朋友不知道的是三元表達式還可以嵌套三元表達式。

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

請看代碼案例:

  1. cmp = lambda a, b: 0 if a == b else 1 if a > b else -1 
  2. print(cmp(3,2)) 
  3. print(cmp(2,3)) 
  4. print(cmp(2,2)) 
  5. out:1 
  6. -1 

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

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

  1. def cmp2(a, b): 
  2.     if a == b: 
  3.         return 0 
  4.     else
  5.         if a > b: 
  6.             return 1 
  7.         else
  8.             return -1 
  9. print(cmp2(3, 2)) 
  10. print(cmp2(2, 3)) 
  11. print(cmp2(2, 2)) 
  12. out:1 
  13. -1 

可以看到上述2個函數(shù)功能完全一致,第一種寫法簡潔的多!

再來熟悉一下這種寫法,為了便于理解我多加了對括號:

  1. 0 if a == b else (1 if a > b else -1) 

這種語句是三元表達式嵌套三元表達式的結構,從左向右計算。

三元表達式首先找if,找到if判斷a ==b (判斷元素):

  • 若該條件滿足則返回if左邊的0(結果元素1)作為整個表達式的運算結果。
  • 若該判斷條件不滿足則返回判斷條件右邊的三元表達式(結果元素2)。

右邊仍然是三元表達式,繼續(xù)計算該三元表達式,找到if判斷a>b(判斷元素):

  • 若該條件滿足則返回if左邊的1(結果元素1)作為整個表達式的運算結果。
  • 若該判斷條件不滿足則返回判斷條件右邊的-1(結果元素2)作為整個表達式的運算結果。

python的三元表達式非常靈活,從上述案例中可以學習到三元表達式的結果元素可以是三元表達式,也就是說三元表達式可以嵌套三元表達式使用。

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

 

責任編輯:未麗燕 來源: 今日頭條
相關推薦

2023-11-30 08:30:12

Python三元表達

2018-10-08 08:00:00

前端ReactJavaScript

2023-09-06 09:40:29

2023-09-07 08:05:32

三元表達式自動

2014-01-05 17:41:09

PostgreSQL表達式

2024-02-02 12:41:33

表達式語法Cron

2010-03-03 12:53:50

Linux正則表達式

2010-07-13 17:03:53

Perl正則表達式

2010-07-28 11:06:41

Flex正則表達式

2010-08-09 13:58:59

Flex正則表達式

2010-07-14 09:37:46

Perl正則表達式

2011-06-16 15:28:31

正則表達式

2024-03-25 13:46:12

C#Lambda編程

2024-09-14 09:18:14

Python正則表達式

2021-01-27 11:34:19

Python正則表達式字符串

2009-09-09 13:01:33

LINQ Lambda

2009-09-11 12:32:33

LINQ表達式

2009-09-15 15:18:00

Linq Lambda

2011-10-28 16:34:13

LINQ

2009-07-03 18:31:04

JSP表達式
點贊
收藏

51CTO技術棧公眾號