python列表中刪除重復(fù)元素的三種方法
給定一個列表,要求刪除列表中重復(fù)元素。
listA = ['python','語','言','是','一','門','動','態(tài)','語','言']
方法1
對列表調(diào)用排序,從末尾依次比較相鄰兩個元素,遇重復(fù)元素則刪除,否則指針左移一位重復(fù)上述過程:
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
設(shè)一臨時(shí)列表保存結(jié)果,從頭遍歷原列表,如臨時(shí)列表中沒有當(dāng)前元素則追加:
def deleteDuplicatedElementFromList2(list): resultList = [] for item in list: if not item in resultList: resultList.append(item) return resultList
方法3
利用python中集合元素惟一性特點(diǎn),將列表轉(zhuǎn)為集合,將轉(zhuǎn)為列表返回:
def deleteDuplicatedElementFromList3(listA): #return list(set(listA)) return sorted(set(listA), key = listA.index)
執(zhí)行結(jié)果:
print(deleteDuplicatedElementFromList(listA)) #sorted list:['python', '一', '動', '態(tài)', '是', '言', '言', '語', '語', '門'] #['python', '一', '動', '態(tài)', '是', '言', '語', '門'] #學(xué)習(xí)中遇到問題沒人解答?小編創(chuàng)建了一個Python學(xué)習(xí)交流群:531509025 print(deleteDuplicatedElementFromList2(listA)) #['python', '語', '言', '是', '一', '門', '動', '態(tài)'] print(deleteDuplicatedElementFromList3(listA)) #['python', '語', '言', '是', '一', '門', '動', '態(tài)']
總結(jié):
方法1,邏輯復(fù)雜,臨時(shí)變量保存值消耗內(nèi)存,返回結(jié)果破壞了原列表順序,效率最差
方法2,直接調(diào)用append方法原處修改列表,邏輯清晰,效率次之
方法3,極度簡潔,使用python原生方法效率最高
到此這篇關(guān)于python列表中刪除重復(fù)元素的三種方法的文章就介紹到這了,更多相關(guān)python列表刪除重復(fù)元素內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python實(shí)現(xiàn)刪除list列表重復(fù)元素的方法總結(jié)
- Python刪除列表中重復(fù)元素的七種方法舉例
- Python列表刪除重復(fù)元素與圖像相似度判斷及刪除實(shí)例代碼
- python3列表刪除大量重復(fù)元素remove()方法的問題詳解
- Python代碼實(shí)現(xiàn)刪除一個list里面重復(fù)元素的方法
- Python list列表中刪除多個重復(fù)元素操作示例
- Python實(shí)現(xiàn)連接兩個無規(guī)則列表后刪除重復(fù)元素并升序排序的方法
- Python實(shí)現(xiàn)列表刪除重復(fù)元素的三種常用方法分析
相關(guān)文章
Python requests的SSL證書驗(yàn)證方式
這篇文章主要介紹了Python-requests的SSL證書驗(yàn)證方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-02-02Python使用Flask結(jié)合DeepSeek開發(fā)(實(shí)現(xiàn)代碼)
文章介紹了如何使用ollama部署DeepSeek大模型,并通過Python Flask和SSE技術(shù)實(shí)現(xiàn)一個簡單的對話應(yīng)用,代碼實(shí)現(xiàn)了模型的調(diào)用和結(jié)果展示,并討論了SSE不支持POST請求的問題及解決方案,感興趣的朋友一起看看吧2025-02-02Python中函數(shù)參數(shù)設(shè)置及使用的學(xué)習(xí)筆記
這篇文章主要介紹了Python中函數(shù)參數(shù)設(shè)置及使用的學(xué)習(xí)筆記,記錄了一些Python2.x與Python3.x中函數(shù)參數(shù)相關(guān)的不同點(diǎn),需要的朋友可以參考下2016-05-05如何通過Python實(shí)現(xiàn)標(biāo)簽云算法
這篇文章主要介紹了如何通過Python實(shí)現(xiàn)標(biāo)簽云算法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07Pytorch實(shí)現(xiàn)常用乘法算子TensorRT的示例代碼
pytorch 用于訓(xùn)練,TensorRT用于推理是很多AI應(yīng)用開發(fā)的標(biāo)配。大家往往更加熟悉 pytorch 的算子,而不太熟悉TensorRT的算子。本文介紹了Pytorch中常用乘法的TensorRT實(shí)現(xiàn),感興趣的可以了解一下2022-06-06