Python if 和 for 的多種寫法


a, b, c = 1, 2, 3

【對比Cpp里:c = a >b? a:b】這個寫法,Python只能常規的空行,縮進嗎?

人生苦短,我用python,下面介紹幾種if的方便的方法。

1.常規

if a>b:
    c = a
else:
    c = b

2.表達式

 

c = a if a>b else b 

 

3.二維列表

c = [b,a][a>b]

 

 

········································································

還有for 循環的 用list解析的

[對(x)的操作 for x in 集合 if 條件]

[對(x,y)的操作 for x in 集合1 for y in 集合2 if 條件]

舉一個簡單的例子:

 

x=[1,2,3,4]

y=[5,6,7,8]

我想讓着兩個list中的偶數分別相加,應該結果是2+6,4+6,2+8,4+8

下面用一句話來寫

[a + b for a in x for b in y if a%2 == 0 and b%2 ==0]  

之前的博客里用到的

1 import os  
2 from os.path import join, getsize  
3   
4 def getdirsize(dir):  
5    size = 0L  
6    for root, dirs, files in os.walk(dir):  
7       size += sum([getsize(join(root, name)) for name in files])  
8    return size  
[ x for x in one if x%2==0 ]  


免責聲明!

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



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