這是關於Python的第11篇文章,主要介紹下數據結構的3個小技巧。 排序: 使用sorted函數實現排序。 sorted函數按照長短、大小、英文字母的順序給每個列表的元素進行排序。這個函數經常在數據展示中使用,其中很重要的一點是sorted函數不會改變列表本身,相當於先複製列表然後做排序整理。 推 ...
這是關於Python的第11篇文章,主要介紹下數據結構的3個小技巧。
排序:
使用sorted函數實現排序。
sorted函數按照長短、大小、英文字母的順序給每個列表的元素進行排序。這個函數經常在數據展示中使用,其中很重要的一點是sorted函數不會改變列表本身,相當於先複製列表然後做排序整理。
1 list = [2,45,21,3,2,1] 2 print(sorted(list)) 3 # 數字預設從小到大排列 4 print(sorted(list,reverse = True)) 5 # reverse,逆序排列 6 print(list) 7 # sorted函數不改變原列表
推導式(列表的解析式):
將10個元素裝進列表中,看如下兩種寫法。
1 # 普通寫法 2 a = [] 3 for i in range(1,11): 4 a.append(i) 5 # append方法用於在列表末尾添加新的對象 6 print(a) 7 8 9 # 推導式 10 b = [i for i in range(1,11)] 11 print(b
第一種是普通寫法,先創建一個空列表,然後一個一個裝進去。第二種是推導式,比較簡潔明瞭。當然,推導式在效率上也會比普通方法好很多,我們可以來測算下時間:
1 import time 2 3 # 普通寫法 4 a = [] 5 t1 = time.clock() 6 for i in range(1,20000): 7 a.append(i) 8 print(time.clock() - t1) 9 10 11 # 推導式 12 t2 = time.clock() 13 b = [i for i in range(1,20000)] 14 print(time.clock() - t2)
迴圈列表時獲取元素的索引:
比如,在字母表 letters = ['a','b','c','d','e','f','g'] 中,得到每個元素的位置。
1 letters = ['a','b','c','d','e','f','g'] 2 for num,letter in enumerate(letters): 3 # enumerate函數用於遍歷序列中的元素以及它們的下標 4 print(letter,'在第',num + 1,'個位置')
後續,開始接觸Python中的類。
操作環境:Python版本,3.6;PyCharm版本,2016.2;電腦:Mac
----- End -----
作者:杜王丹,微信公眾號:杜王丹,互聯網產品經理。