熱線電話:13121318867

登錄
首頁精彩閱讀Python實現列表刪除重復元素的三種常用方法分析
Python實現列表刪除重復元素的三種常用方法分析
2017-12-16
收藏

Python實現列表刪除重復元素的三種常用方法分析

本文實例講述了Python實現列表刪除重復元素的三種常用方法。分享給大家供大家參考,具體如下:
給定一個列表,要求刪除列表中重復元素。    
listA = ['python','語','言','是','一','門','動','態','語','言']
方法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)
執行結果:    
print(deleteDuplicatedElementFromList(listA))
#sorted list:['python', '一', '動', '態', '是', '言', '言', '語', '語', '門']
#['python', '一', '動', '態', '是', '言', '語', '門']
print(deleteDuplicatedElementFromList2(listA))
#['python', '語', '言', '是', '一', '門', '動', '態']
print(deleteDuplicatedElementFromList3(listA))
#['python', '語', '言', '是', '一', '門', '動', '態']
分析:
方法1,邏輯復雜,臨時變量保存值消耗內存,返回結果破壞了原列表順序,效率最差
方法2,直接調用append方法原處修改列表,邏輯清晰,效率次之
方法3,極度簡潔,使用python原生方法效率最高

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢