1. 程式人生 > >Python列表的去重方式

Python列表的去重方式

 1 #列表去重
 2 L = [1,2,3,4,5,6,6,5,4,3,2,1]
 3 
 4 #第一種方法,利用字典的fromkeys()和keys()方法
 5 #建立一個空字典
 6 d = {}
 7 
 8 #用字典的fromkeys()方法去重,得到一個字典,去重之後的元素為鍵,值為None的字典
 9 #{1: None, 2: None, 3: None, 4: None, 5: None, 6: None}
10 #fromkeys(iterable,value=None)
11 L = d.fromkeys(L)
12 print(L) #{1: None, 2: None, 3: None, 4: None, 5: None, 6: None}
13 14 #用字典的keys()方法得到一個類似列表的東西,但不是列表。keys()函式返回的是一個dict_keys物件: 15 #以字典的鍵作為元素的一個類列表 16 L = L.keys() 17 #print(L) #dict_keys([1, 2, 3, 4, 5, 6]) 18 19 L = list(L) 20 print(L) #[1, 2, 3, 4, 5, 6] 21 22 #可以用列表的sort()方法排序,預設是升序 23 # print(L.sort()) 24 L.sort(reverse=True) #升序 25 print(L)#[6, 5, 4, 3, 2, 1]
26 27 28 print('-----------------------------') 29 #第二種方法,集合,集合是可迭代的 30 L2 = [1,2,3,4,5,6,6,5,4,3,2,1] 31 L2=set(L2) 32 print(L2) #{1, 2, 3, 4, 5, 6} 33 34 L2 = list(L2) 35 print(L2) #[1, 2, 3, 4, 5, 6] 36 37 print('-------------------------------') 38 #第三種方法,用for迴圈 39 L3 = [1,2,3,4,5,6,6,5,4,3,2,1]
40 L4 = [] 41 for x in L3: 42 if x not in L4: 43 L4.append(x) 44 print(L4) #[1, 2, 3, 4, 5, 6]