python列表中刪除重復元素的三種方法
更新時間:2025年01月16日 11:04:43 作者:Python熱愛者
本文主要介紹了python列表中刪除重復元素的三種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
給定一個列表,要求刪除列表中重復元素。
listA = ['python','語','言','是','一','門','動','態(tài)','語','言']
方法1
對列表調用排序,從末尾依次比較相鄰兩個元素,遇重復元素則刪除,否則指針左移一位重復上述過程:
def deleteDuplicatedElementFromList(list):
list.sort();
print("sorted list:%s" % list)
length = len(list)
lastItem = list[length - 1]
for i in range(length - 2,-1,-1):
currentItem = list[i]
if currentItem == lastItem:
list.remove(currentItem)
else:
lastItem = currentItem
return list
方法2
設一臨時列表保存結果,從頭遍歷原列表,如臨時列表中沒有當前元素則追加:
def deleteDuplicatedElementFromList2(list):
resultList = []
for item in list:
if not item in resultList:
resultList.append(item)
return resultList
方法3
利用python中集合元素惟一性特點,將列表轉為集合,將轉為列表返回:
def deleteDuplicatedElementFromList3(listA):
#return list(set(listA))
return sorted(set(listA), key = listA.index)
執(zhí)行結果:
print(deleteDuplicatedElementFromList(listA)) #sorted list:['python', '一', '動', '態(tài)', '是', '言', '言', '語', '語', '門'] #['python', '一', '動', '態(tài)', '是', '言', '語', '門'] #學習中遇到問題沒人解答?小編創(chuàng)建了一個Python學習交流群:531509025 print(deleteDuplicatedElementFromList2(listA)) #['python', '語', '言', '是', '一', '門', '動', '態(tài)'] print(deleteDuplicatedElementFromList3(listA)) #['python', '語', '言', '是', '一', '門', '動', '態(tài)']
總結:
方法1,邏輯復雜,臨時變量保存值消耗內存,返回結果破壞了原列表順序,效率最差
方法2,直接調用append方法原處修改列表,邏輯清晰,效率次之
方法3,極度簡潔,使用python原生方法效率最高
到此這篇關于python列表中刪除重復元素的三種方法的文章就介紹到這了,更多相關python列表刪除重復元素內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python使用Flask結合DeepSeek開發(fā)(實現代碼)
文章介紹了如何使用ollama部署DeepSeek大模型,并通過Python Flask和SSE技術實現一個簡單的對話應用,代碼實現了模型的調用和結果展示,并討論了SSE不支持POST請求的問題及解決方案,感興趣的朋友一起看看吧2025-02-02

