国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python實(shí)現(xiàn)列表刪除重復(fù)元素的三種常用方法分析

2020-01-04 16:15:25
字體:
供稿:網(wǎng)友

本文實(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,極度簡(jiǎn)潔,使用python原生方法效率最高

 

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到python教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 信丰县| 兴化市| 光泽县| 五寨县| 靖远县| 宁波市| 图木舒克市| 渑池县| 平昌县| 子洲县| 岗巴县| 江口县| 江孜县| 孝昌县| 枣强县| 南和县| 邵东县| 长汀县| 鄂尔多斯市| 大足县| 七台河市| 黄山市| 泰和县| 海伦市| 和硕县| 上思县| 东乡县| 巴林左旗| 无为县| 常德市| 宁德市| 利津县| 淮北市| 印江| 内江市| 若羌县| 天长市| 枣阳市| 蕉岭县| 明光市| 南康市|