Python中三元表達(dá)式的幾種寫法介紹
要介紹Python的三元表達(dá)式,可以先看看其他編程語言比如C,JAVA中應(yīng)用:
public class java { public static void main(String[] args){ int x = 100; int y = 101; int MAX = (x > y)? x: y; System.out.println("MAX:" + MAX); } }
上面的例子可以很好的說明了其他語言的格式:
判段的條件 ? 條件為真時(shí)的結(jié)果:條件為假時(shí)的結(jié)果
而在Python中盡管也有三元表達(dá)式,但格式不同,先看下在Python中簡單示例
>>> x = 4 >>> y = 99 if x > 3 else 999 >>> y 99
從上面的Python是示例可以看出,Python的三元表達(dá)式格式如下:
條件為真時(shí)的結(jié)果 if 判段的條件 else 條件為假時(shí)的結(jié)果
適用場景:變量賦值時(shí),要做條件判斷時(shí),簡化代碼時(shí)使用。上面就是一個(gè)示例。
先定義變量:
a = 1 b = 2
第一種寫法:
erroStr = "More" if a > b else "Less" print(erroStr) # 運(yùn)行結(jié)果為:Less
第二種寫法:
print({True: "More", False: "Less"}[a > b]) # 運(yùn)行結(jié)果為:Less
第三種寫法:
print(("FalseValue", "TrueValue")[a > b]) # 運(yùn)行結(jié)果為:FalseValue
其中我們比較常見的是第一種。
第二三種是挺簡潔的,但是寫在項(xiàng)目里怕是接手的同事要抓狂了。
其他示例:
>>> def Max(x, y): ... return x if x > y else y >>> Max(99, 98) 99 >>> Max(78, 88) 88 >>> L = [] >>> x = 2 >>> L.append(100 if x > 1 else 0) >>> L [100] >>> def fib(n): ... return 1 if n == 1 else fib(n-1) + n >>> fib(1) 1 >>> fib(5) 15 >>> L = [-2, -4, 0, 2, 5, 8] >>> list(filter(lambda x:True if x > 0 else False, L)) [2, 5, 8]
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
相關(guān)文章
Python 2.7.x 和 3.x 版本的重要區(qū)別小結(jié)
這篇文章主要介紹了Python 2.7.x 和 3.x 版本的重要區(qū)別小結(jié),需要的朋友可以參考下2014-11-11Python中使用sqlalchemy操作數(shù)據(jù)庫的問題總結(jié)
在探索使用?FastAPI,?SQLAlchemy,?Pydantic,Redis,?JWT?構(gòu)建的項(xiàng)目的時(shí)候,其中數(shù)據(jù)庫訪問采用SQLAlchemy,并采用異步方式,這篇文章主要介紹了在Python中使用sqlalchemy來操作數(shù)據(jù)庫的幾個(gè)小總結(jié),需要的朋友可以參考下2024-08-08Django打印出在數(shù)據(jù)庫中執(zhí)行的語句問題
這篇文章主要介紹了Django打印出在數(shù)據(jù)庫中執(zhí)行的語句,文中給大家提到了Django 查看執(zhí)行的sql語句方法,代碼簡單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07pycharm中如何自定義設(shè)置通過“ctrl+滾輪”進(jìn)行放大和縮小實(shí)現(xiàn)方法
這篇文章主要介紹了pycharm中如何自定義設(shè)置通過“ctrl+滾輪”進(jìn)行放大和縮小實(shí)現(xiàn)方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09