Python的三元表示式

2021-09-01 04:38:32 字數 1908 閱讀 6906

result = 判定條件? 為真時的結果:為假時的結果

# 示例:

result = 5>3? 1:0 # 條件為真是result賦值為1,條件為假時賦值為0

result = 為真時的結果 if 判斷條件 else 為假時的結果

# 示例:

>>> x = 1

>>> y = 2

>>> result = x if x > y else y # 如果條件成立,將x的值賦給result

>>> result

2

上面的三元表示式等價於

>>> x = 1

>>> y = 2

>>> if x > y:

... result = x

... else:

... result = y

...>>> result

2>>>

1. 結合函式結合使用

# 示例一: 求兩個引數的最大值

>>> def max(x, y):

... return x if x > y else y # 取兩個值的比較大的

...>>> max(1, 3)

3>>>

# 示例二: 斐波那契數列

>>> def fib(n):

... return n if n<2 else fib(n-1)+fib(n-2)

...>>> [fib(n) for n in range(10)]

[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]

>>>

2. 結合匿名函式使用

>>> map(lambda x,y:x-y if x> y else y-x, [2,1,3],[4,3,1])  # 兩個列表相減並保證不為負

[2, 2, 2]

>>>

3. 結合列表推導使用

# 示例一: 將0-9的10個數,奇數用0表示,偶數用1表示

>>> [0 if i % 2 == 0 else 1 for i in range(10)]

[0, 1, 0, 1, 0, 1, 0, 1, 0, 1]

# 示例二: 常規寫法

>>> x = 100

>>> l =

>>> l

[1]>>>

4. 在處理json格式中的乙個典型應用使用三元表示式的寫法

一般的寫法,可以看見,使用三元表示式的寫法要簡潔的多!

5. 三元表示式的乙個變種

>>> cond = true

>>> name = ["cat", "tom"][bool(cond)]

>>> name

'tom'

>>> cond = ""

>>> name = ["cat", "tom"][bool(cond)]

>>> name

'cat'

>>>

三元表示式

c 中有乙個三元運算子 語法為 條件表示式?表示式1 表示式2 該操作首先求出條件表示式的值 bool型別 為true時呼叫表示式1,為flase時呼叫表示式2。其邏輯為 如果為真執行第乙個,否則執行第二個。例項 string result name 老趙 帥的掉渣了 山炮掉渣了 dic.add d...

三元表示式

採用三元操作符對?對表示式進行運算,這種操作符比較特別,因為它有三個操作物件,但它確實屬於操作符的一種,它最終也會生成乙個值。其表示式採取下述形式 boolean exp value0 value1 原型比較大小 string result int i 5,j 10 if i j result su...

三元表示式

有段時間沒有跟進東西了,說明我沒有進步,三元表示式真的挺好用的,有的地方沒法用if else進行判斷,用這個很方便,之前上學的時候學過這個,由於這個知識點很小,盡然被我忘了,上次寫東西我想了好久,在那裡邊沒法進行判斷,後來人家給我說用三元表示式啊,我愣住了,三元表示式,不知道是啥,人家也不給我說,直...