Python初學者必備!尤爲是自學者,超實用技巧務必碼住

全文共1867字,預計學習時長8分鐘編程

 

Python初學者必備!尤爲是自學者,超實用技巧務必碼住

圖源:unsplash數組

 

毋庸置疑,Python是現在發展最迅速的編程語言。在咱們的調查中,今年它在在編程語言中的排名再次上升,取代Java成爲了第二受歡迎的編程語言(僅次於Rust)。微信

 

不管是在不一樣學科仍是各個行業,Python技能彷佛都成爲了「硬通貨」。不少人開始了Python語言的學習,朋友圈裏的Python培訓廣告也只增不減。app

 

若是你已經成爲了一名Python初學者,那麼恭喜,你正在學習發展最迅速的主要編程語言之一。筆者學習Python已有五年,本文將分享一份簡單實用的Python學習技巧和竅門清單,但願你能更有效地學習Python,充分享受學習過程。less

 

提示:目前筆者使用的是Python 3.8。若是在給出的示例的實踐過程當中遇到任何問題,請先檢查本身的Python版本。編程語言

 

1. 條件返回語句函數

 

與其:學習

 

>>>def compare(a,b):
... if a> b:
... return a
... else:
... return b
...

 

不如將條件直接輸入至返回語句中。測試

 

>>>def compare(a, b):
... return a if a> b else b
...

 

2. 在列表/多元組中的一行語句中賦予多個變量編碼

 

與其:

 

>>>arr_list = [1,4,7]
>>> a = arr_list[0]
>>> b = arr_list[1]
>>> c = arr_list[2]

 

不如在一行語句中進行賦值:

 

>>>a, b, c = arr_list
>>> a
1
>>> b
4
>>> c
7

 

3. 數值比較

 

>>>a = 1
>>> b = 3
>>> a == 1
True
>>> a == 2
False
>>> a == b
False
>>> a > b
False
>>> a <= b
True
>>> if a <= b :
... print('a is less than or equal tob')
...
a is less than or equal to b

 

此方法能夠比較兩個對象的值。返回對/錯。比較可直接被用做if-else語句中的條件。

 

4. 列表推導式

 

與其:

 

>>>arr_list = [1,4,7]
>>> result = []
>>> for i in arr_list:
... result.append(i*2)
...
>>> result
[2, 8, 14]

 

不如:

 

>>>result = [x*2 for x in arr_list]
>>> result
[2, 8, 14]

 

5. 使用lambda表達式按第二個元素對嵌套數組進行排序

 

>>>arr_list= [[1,4], [3,3], [5,7]]
>>> arr_list.sort(key= lambda x: x[1])
>>> arr_list
[[3, 3], [1, 4], [5, 7]]

 

6. Filter函數、Map函數

 

與其:

 

>>>arr_list = [-1, 1, 3, 5]
>>> result = []
>>> for i in arr_list:
... if i > 0:
... result.append(i**2)
...
>>> result
[1, 9, 25]

 

不如:

 

>>>result = list(map(lambda x: x**2, filter(lambda x: x > 0, arr_list)))
>>> result
[1, 9, 25]

 

此處使用列表推導式會更好。

 

>>>result = [i**2 for i in arr_list if i > 0]
>>> result
[1, 9, 25]

 

7. 檢查列表中元素是否惟一

 

Python初學者必備!尤爲是自學者,超實用技巧務必碼住

圖源:unsplash

 

使用set函數從列表中刪除重複的元素,而後測試列表和set的長度是否相等:

 

>>>arr_list = [1,4,4,6,9]
>>> len(arr_list) == len(set(arr_list))
False

 

8. 使用zip函數比較兩個列表中的元素

 

與其:

 

>>>a = [1,5,8]
>>> b = [3,4,7]
>>> result = []
>>> for i in range(len(a)):
... result.append(a[i] if a[i]<b[i] else b[i])
...
>>> result
[1, 4, 7]

 

不如:

 

>>>result = [min(i) for i in zip(a,b)]
>>> result
[1, 4, 7]

 

9. 字符串格式化

 

Python3.6及更舊版本:

 

>>>a, b, c = 1,5,9
>>> print('a is {}; b is {}; c is {}'.format(a,b,c))
a is 1; b is 5; c is 9

 

Python3.6及更新版本:

>>>print(f'a is {a}; b is {b}; c is {c}')
a is 1; b is 5; c is 9

 

10. Enumerate函數

 

與其:

 

>>>arr_list = [1, 5, 9]
>>> for i in range(len(arr_list)):
... print(f'Index: {i}; Value:{arr_list[i]}')
...
Index: 0; Value: 1
Index: 1; Value: 5
Index: 2; Value: 9

 

不如:

 

>>>for i, j in enumerate(arr_list):
... print(f'Index: {i}; Value: {j}')
...
Index: 0; Value: 1
Index: 1; Value: 5
Index: 2; Value: 9

 

11. 形式組合和排列

 

>>>str_list = ['A', 'C', 'F']
>>> list(itertools.combinations(str_list,2))
[('A', 'C'), ('A', 'F'), ('C', 'F')]
>>> list(itertools.permutations(str_list,2))
[('A', 'C'), ('A', 'F'), ('C', 'A'), ('C', 'F'), ('F', 'A'), ('F', 'C')]

 

12. 獲取數組的特定部分

 

>>>arr_list = [1,4,6,8,10,11]
>>> a, *b, c = arr_list
>>> a
1
>>> b
[4, 6, 8, 10]
>>> c
11

 

Python初學者必備!尤爲是自學者,超實用技巧務必碼住

圖源:unsplash

 

儘管這些技巧十分簡單,卻能避免不少沒必要要的步驟,簡化代碼。易上手易理解是Python最大的優勢之一,但願你能享受學習、快樂編碼!

 

Python初學者必備!尤爲是自學者,超實用技巧務必碼住

咱們一塊兒分享AI學習與發展的乾貨
歡迎關注全平臺AI垂類自媒體 「讀芯術」

(添加小編微信:dxsxbb,加入讀者圈,一塊兒討論最新鮮的人工智能科技哦~)