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

首頁 > 編程 > Python > 正文

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

2020-02-16 10:51:15
字體:
來源:轉載
供稿:網友

本文實例講述了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原生方法效率最高

PS:這里再為大家提供幾款去重復工具供大家參考使用:

在線去除重復項工具:
http://tools.jb51.net/code/quchong

在線文本去重復工具:
http://tools.jb51.net/aideddesign/txt_quchong

更多關于Python相關內容感興趣的讀者可查看本站專題:《Python列表(list)操作技巧總結》、《Python數組操作技巧總結》、《Python字符串操作技巧匯總》、《Python函數使用技巧總結》、《Python入門與進階經典教程》及《Python數據結構與算法教程》

希望本文所述對大家Python程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 浦东新区| 鄯善县| 青阳县| 元氏县| 云浮市| 洪江市| 峡江县| 齐河县| 定边县| 南投市| 温州市| 长乐市| 乌兰察布市| 青河县| 林西县| 林西县| 沙雅县| 宿州市| 佛教| 九龙县| 谷城县| 高碑店市| 昭平县| 阿瓦提县| 高阳县| 衡阳市| 阿城市| 贵州省| 阿克陶县| 铜陵市| 孟州市| 桂林市| 莱西市| 宣汉县| 贵港市| 东乌珠穆沁旗| 崇义县| 循化| 甘孜| 洛阳市| 富源县|