溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用Python怎么刪除list中的重復元素

發(fā)布時間:2021-04-20 16:44:21 來源:億速云 閱讀:401 作者:Leah 欄目:開發(fā)技術

使用Python怎么刪除list中的重復元素?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

python可以做什么

Python是一種編程語言,內(nèi)置了許多有效的工具,Python幾乎無所不能,該語言通俗易懂、容易入門、功能強大,在許多領域中都有廣泛的應用,例如最熱門的大數(shù)據(jù)分析,人工智能,Web開發(fā)等。

方法一:是利用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是非重復的,無序集合??梢杂胠ist來的排隊對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)容,你們掌握使用Python怎么刪除list中的重復元素的方法了嗎?如果還想學到更多技能或想了解更多相關內(nèi)容,歡迎關注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI