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]
相關文章
相關標籤/搜索