【Python】if-else和for的后置用法


if-else后置

if-else的后置類似於C++的三目運算符:

int a = 1;
int b = 2;
int c = a>b?a:b; // 取得a,b中的較大值保存在c中
int d = a>b?(a>c?a:c):(b>c?b:c); // 嵌套寫法,有較多冗余

python:

a = 1
b = 2
c = a if a > b else b # if中條件滿足則返回a,否則返回b
d = a if a > b else b if b > c else c # 嵌套寫法,類似自然語言,可讀性強

for后置

用於產生一個generator,包含符合for條件的所有元素:

# python版本:3.6
a = list(str(x) for x in range(4))
print(a)

# ['0', '1', '2', '3']

相當於如下寫法:

def fun(a, n):
    x = a
    while x < n:
        yield str(x)
        x = x + 1


a = list(fun(0, 4))
print(a)

# ['0', '1', '2', '3']


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM