Python代碼實現(xiàn)刪除一個list里面重復元素的方法
網(wǎng)上學習了的兩個新方法,代碼非常之簡潔??磥?,不是只要實現(xiàn)了基本功能就能交差滴,想要真的學好python還有很長的一段路呀
方法一:是利用map的fromkeys來自動過濾重復值,map是基于hash的,大數(shù)組的時候應該會比排序快點吧
方法二:是用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 代碼實現(xiàn)刪除一個 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)
[1, 2, 3, 4, 5, 6, 7]
總結
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內(nèi)容請查看下面相關鏈接
相關文章
解決Django中調(diào)用keras的模型出現(xiàn)的問題
今天小編就為大家分享一篇解決Django中調(diào)用keras的模型出現(xiàn)的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08

