程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python列表去重的幾種方法整理

編輯:Python

請定義函數,將列表[10, 1, 2, 20, 10, 3, 2, 1, 15, 20, 44, 56, 3, 2, 1]中的重復元素除去,寫出至少3種方法。

方法一:利用集合去重

list_1=[10, 1, 2, 20, 10, 3, 2, 1, 15, 20, 44, 56, 3, 2, 1]def func1(list_1): return list(set(list_1))print('去重後的列表:',func1(list_1))

方法二:利用for循環

list_2 = [10, 1, 2, 20, 10, 3, 2, 1, 15, 20, 44, 56, 3, 2, 1]def func2(list_2): #定義一個空列表 mylist_2=[] #i遍歷list_2 for i in list_2: #如果i不在mylist_2,則添加到mylist_2 if i not in mylist_2: mylist_2.append(i) print(mylist_2)print(func2(list_2))

方法三:巧用sort()排序

list_3 = [10, 1, 2, 20, 10, 3, 2, 1, 15, 20, 44, 56, 3, 2, 1]def func3(list_3): result_list=[] temp_list=sorted(list_3) i=0 while i<len(temp_list): #如果不在result_list則添加進去,否則i+1 if temp_list[i] not in result_list: result_list.append(temp_list[i]) else: i+=1 return result_listprint(func3(list_3))

方法四:巧用字典

list_4= [10, 1, 2, 20, 10, 3, 2, 1, 15, 20, 44, 56, 3, 2, 1]def func4(list_4): #fromkeys() 函數創建一個新字典,獲取新字典的鍵(鍵值是唯一的) result_list = [] for i in {}.fromkeys(list_4).keys(): result_list.append(i) return result_listprint(func4(list_4))

方法五:利用迭代器

import itertoolslist_5= [10, 1, 2, 20, 10, 3, 2, 1, 15, 20, 44, 56, 3, 2, 1]def func5(list_5): list_5.sort() temp_list= itertools.groupby(list_5) result_list=[] for i,j in temp_list: result_list.append(i) return result_listprint(func5(list_5))

運行結果:

到此這篇關於Python列表去重的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持軟件開發網。



  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved