Python代碼實現刪除一個list裏面重複元素的方法

今天小編就爲大家分享一篇關於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學習者聚集地

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章