今天小編就爲大家分享一篇關於Python代碼實現刪除一個list裏面重複元素的方法,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
網上學習了的兩個新方法,代碼非常之簡潔。看來,不是隻要實現了基本功能就能交差滴,想要真的學好python還有很長的一段路呀
方法一:是利用map的fromkeys來自動過濾重複值,map是基於hash的,大數組的時候應該會比排序快點吧
方法二:是用set(),set是定義集合的,無序,非重複
方法三:是排序後,倒着掃描,遇到已有的元素刪之
#!/usr/bin/python
#coding=utf-8
'''
Created on 2012-2-22
Q: 給定一個列表,去掉其重複的元素,並輸出
'''
def distFunc1():
a=[1,2,4,2,4,5,6,5,7,8,9,0]
b={}
b=b.fromkeys(a)
print b
#print b.keys()
a=list(b.keys())
print a
def distFunc2():
a=[1,2,4,2,4,5,7,10,5,5,7,8,9,0,3]
a=list(set(a)) # set是非重複的,無序集合。可以用list來的排隊對set進行排序,list()轉換爲列表,a.sort來排序
print a
def distFunc3():
#可以先把list重新排序,然後從list的最後開始掃描,代碼如下:
List=[1,2,4,2,4,5,7,10,5,5,7,8,9,0,3]
if List:
List.sort()
#print List
last = List[-1]
#print last
for i in range(len(List)-2, -1, -1):
if last==List[i]:
del List[i]
else: last=List[i]
if __name__ == '__main__':
distFunc1()
distFunc2()
distFunc3()
請寫出一段 Python 代碼實現刪除一個 list 裏面的重複元素
可以先把 list 重新排序,然後從 list 的最後開始掃描,代碼如下:
In [8]: List = [1, 2, 2, 3, 3, 3, 4, 4, 5, 6, 6, 7]
In [9]: if List:
...: List.sort()
...: last = List[-1]
...: for i in range(len(List)-2, -1, -1):
...: if last==List[i]:
...: del List[i]
...: else:
...: last=List[i]
...: print(List)
推薦我們的Python學習扣qun:913066266 ,看看前輩們是如何學習的!從基礎的python腳本到web開發、爬蟲、django、數據挖掘等【PDF,實戰源碼】,零基礎到項目實戰的資料都有整理。送給每一位python的小夥伴!每天都有大牛定時講解Python技術,分享一些學習的方法和需要注意的小細節,點擊加入我們的 python學習者聚集地
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值