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