您好,登錄后才能下訂單哦!
使用Python怎么刪除list中的重復元素?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
Python是一種編程語言,內置了許多有效的工具,Python幾乎無所不能,該語言通俗易懂、容易入門、功能強大,在許多領域中都有廣泛的應用,例如最熱門的大數據分析,人工智能,Web開發等。
方法一:是利用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)
[1, 2, 3, 4, 5, 6, 7]
看完上述內容,你們掌握使用Python怎么刪除list中的重復元素的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。