Python實(shí)現(xiàn)列表刪除重復(fù)元素的三種常用方法分析
本文實(shí)例講述了Python實(shí)現(xiàn)列表刪除重復(fù)元素的三種常用方法。分享給大家供大家參考,具體如下:
給定一個(gè)列表,要求刪除列表中重復(fù)元素。
listA = ['python','語','言','是','一','門','動(dòng)','態(tài)','語','言']
方法1,對(duì)列表調(diào)用排序,從末尾依次比較相鄰兩個(gè)元素,遇重復(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', '一', '動(dòng)', '態(tài)', '是', '言', '言', '語', '語', '門'] #['python', '一', '動(dòng)', '態(tài)', '是', '言', '語', '門'] print(deleteDuplicatedElementFromList2(listA)) #['python', '語', '言', '是', '一', '門', '動(dòng)', '態(tài)'] print(deleteDuplicatedElementFromList3(listA)) #['python', '語', '言', '是', '一', '門', '動(dòng)', '態(tài)']
分析:
方法1,邏輯復(fù)雜,臨時(shí)變量保存值消耗內(nèi)存,返回結(jié)果破壞了原列表順序,效率最差
方法2,直接調(diào)用append方法原處修改列表,邏輯清晰,效率次之
方法3,極度簡潔,使用python原生方法效率最高
PS:這里再為大家提供幾款去重復(fù)工具供大家參考使用:
在線去除重復(fù)項(xiàng)工具:
http://tools.jb51.net/code/quchong
在線文本去重復(fù)工具:
http://tools.jb51.net/aideddesign/txt_quchong
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python列表(list)操作技巧總結(jié)》、《Python數(shù)組操作技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python函數(shù)使用技巧總結(jié)》、《Python入門與進(jìn)階經(jīng)典教程》及《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
- Python實(shí)現(xiàn)刪除list列表重復(fù)元素的方法總結(jié)
- Python刪除列表中重復(fù)元素的七種方法舉例
- Python列表刪除重復(fù)元素與圖像相似度判斷及刪除實(shí)例代碼
- python3列表刪除大量重復(fù)元素remove()方法的問題詳解
- Python代碼實(shí)現(xiàn)刪除一個(gè)list里面重復(fù)元素的方法
- Python list列表中刪除多個(gè)重復(fù)元素操作示例
- Python實(shí)現(xiàn)連接兩個(gè)無規(guī)則列表后刪除重復(fù)元素并升序排序的方法
- python列表中刪除重復(fù)元素的三種方法
相關(guān)文章
Python爬取國外天氣預(yù)報(bào)網(wǎng)站的方法
這篇文章主要介紹了Python爬取國外天氣預(yù)報(bào)網(wǎng)站的方法,可實(shí)現(xiàn)抓取國外天氣預(yù)報(bào)信息的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07Python對(duì)接支付寶支付自實(shí)現(xiàn)功能
這篇文章主要介紹了Python對(duì)接支付寶支付自實(shí)現(xiàn)功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-10-10Python+Tensorflow+CNN實(shí)現(xiàn)車牌識(shí)別的示例代碼
這篇文章主要介紹了Python+Tensorflow+CNN實(shí)現(xiàn)車牌識(shí)別的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10python基礎(chǔ)之while循環(huán)語句的使用
這篇文章主要介紹了python基礎(chǔ)之while循環(huán)語句的使用,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們有一定的幫助,需要的朋友可以參考下2021-04-04Python中類創(chuàng)建和實(shí)例化的過程詳解
這篇文章主要介紹了Python中類創(chuàng)建和實(shí)例化過程,文中通過代碼示例講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-06-06python中main函數(shù)(主函數(shù))相關(guān)應(yīng)用例子
這篇文章主要介紹了python中main函數(shù)(主函數(shù))相關(guān)應(yīng)用,本文通過示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05