Python實現(xiàn)列表刪除重復(fù)元素的三種常用方法分析
本文實例講述了Python實現(xiàn)列表刪除重復(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è)一臨時列表保存結(jié)果,從頭遍歷原列表,如臨時列表中沒有當(dāng)前元素則追加:
def deleteDuplicatedElementFromList2(list):
resultList = []
for item in list:
if not item in resultList:
resultList.append(item)
return resultList
方法3,利用python中集合元素惟一性特點,將列表轉(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)', '是', '言', '語', '門'] print(deleteDuplicatedElementFromList2(listA)) #['python', '語', '言', '是', '一', '門', '動', '態(tài)'] print(deleteDuplicatedElementFromList3(listA)) #['python', '語', '言', '是', '一', '門', '動', '態(tài)']
分析:
方法1,邏輯復(fù)雜,臨時變量保存值消耗內(nèi)存,返回結(jié)果破壞了原列表順序,效率最差
方法2,直接調(diào)用append方法原處修改列表,邏輯清晰,效率次之
方法3,極度簡潔,使用python原生方法效率最高
PS:這里再為大家提供幾款去重復(fù)工具供大家參考使用:
在線去除重復(fù)項工具:
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)與算法教程》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章
使用Python實現(xiàn)下載網(wǎng)易云音樂的高清MV
本文給大家分享的是一則使用Python實現(xiàn)下載網(wǎng)易云音樂中高清MV的代碼,本人新手,沒有做特別的功能,僅僅是直接循環(huán)了MV的id,小伙伴們可以自己擴展下。2015-03-03
Python標(biāo)準(zhǔn)庫datetime?date模塊的詳細(xì)介紹
這篇文章主要介紹了Python標(biāo)準(zhǔn)庫datetime?date模塊的詳細(xì)介紹,datetime是Python提供的操作日期和時間的標(biāo)準(zhǔn)庫,主要有datetime.date模塊、datetime.time模塊及datetime.datetime模塊2022-07-07
利用Python的Flask框架來構(gòu)建一個簡單的數(shù)字商品支付解決方案
這篇文章主要介紹了利用Python的Flask框架來構(gòu)建一個簡單的數(shù)字商品支付解決方案,文中用極簡的代碼展示了一個flask框架下的支付模版,需要的朋友可以參考下2015-03-03
python應(yīng)用之如何使用Python發(fā)送通知到微信
現(xiàn)在通過發(fā)微信信息來做消息通知和告警已經(jīng)很普遍了,下面這篇文章主要給大家介紹了關(guān)于python應(yīng)用之如何使用Python發(fā)送通知到微信的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-03-03
Python中g(shù)etattr函數(shù)和hasattr函數(shù)作用詳解
這篇文章主要介紹了Python中g(shù)etattr函數(shù)和hasattr函數(shù)作用的相關(guān)知識,非常不錯具有參考借鑒價值,需要的朋友可以參考下2016-06-06

