Python 的簡潔表達:for語句,if語句,3變數值互換
Python 語句遵循的是簡潔為美的原則,所以有很多表達方式非常簡潔。
同時在熟練以後也不會犧牲可讀性。
一、for 語句
比如我們要求 n^2 的值的列表,其中,n 的範圍是 1~10,我們可以這樣寫:
>>> answer = []
>>> for i in range(1,11):
answer.append(i*i)
>>> answer
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
簡潔的表述方法是:
>>> answer = [i*i for i in range(1,11)]
>>> answer
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
二、if 語句
例如我們要比大小,求小的那個:
>>> a=3
>>> b=4
>>> if a>b:
answer=b
else:
answer=a
>>> answer
3
簡潔的寫法:
>>> answer = a if a<b else b
>>> answer
3
三、3 變數值互換
>>> x=1
>>> y=2
>>> z=3
>>> x,y,z=y,z,x
>>> x
2
>>> y
3
>>> z
1
四、for 語句和 if 語句結合的列表推導式
求 100 以內能被 3 整除,不能被 5 整除的數的列表。
原:
a = []
for i in range(100):
if not(i%3) and (i%5):
a.append(i)
print(a)
[3, 6, 9, 12, 18, 21, 24, 27, 33, 36, 39, 42, 48, 51, 54, 57, 63, 66, 69, 72, 78, 81, 84, 87, 93, 96, 99]
簡潔版:
b = [i for i in range(100) if not(i%3) and (i%5)]
print(b)
[3, 6, 9, 12, 18, 21, 24, 27, 33, 36, 39, 42, 48, 51, 54, 57, 63, 66, 69, 72, 78, 81, 84, 87, 93, 96, 99]