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進行判斷,用這個很方便,之前上學的時候學過這個,由於這個知識點很小,盡然被我忘了,上次寫東西我想了好久,在那裡邊沒法進行判斷,後來人家給我說用三元表示式啊,我愣住了,三元表示式,不知道是啥,人家也不給我說,直...