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]

待續。。。

Tags: