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 ]