全文共1867字,預計學習時長8分鐘編程
圖源: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. 檢查列表中元素是否惟一
圖源: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
圖源:unsplash
儘管這些技巧十分簡單,卻能避免不少沒必要要的步驟,簡化代碼。易上手易理解是Python最大的優勢之一,但願你能享受學習、快樂編碼!
咱們一塊兒分享AI學習與發展的乾貨
歡迎關注全平臺AI垂類自媒體 「讀芯術」
(添加小編微信:dxsxbb,加入讀者圈,一塊兒討論最新鮮的人工智能科技哦~)