一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

python列表常見(jiàn)的5種去重方法

 hzlinhui 2024-12-15

列表去重在python面試和實(shí)際運(yùn)用中,十分常見(jiàn),也是最基礎(chǔ)的重點(diǎn)知識(shí)。以下總結(jié)了5種常見(jiàn)的列表去重方法一、使用for循環(huán)實(shí)現(xiàn)列表去重此方法去重后,原順序保持不變。# for循環(huán)實(shí)現(xiàn)列表去重list1 = ['a', 'b', 1, 3, 9, 9, 'a']list2 = []for l1 in list1:if l1 not in list2:list2.append(l1)print(lis

一位代碼 ?·? 2021-12-26 15:29:40 發(fā)布

列表去重在python實(shí)際運(yùn)用中,十分常見(jiàn),也是最基礎(chǔ)的重點(diǎn)知識(shí)。
以下總結(jié)了5種常見(jiàn)的列表去重方法
一、使用for循環(huán)實(shí)現(xiàn)列表去重
此方法去重后,原順序保持不變。

# for循環(huán)實(shí)現(xiàn)列表去重
list1 = ['a', 'b', 1, 3, 9, 9, 'a']
list2 = []
for l1 in list1:
    if l1 not in list2:
        list2.append(l1)
print(list2)

結(jié)果:['a’, 'b’, 1, 3, 9]

二、使用列表推導(dǎo)式去重
此方法去重后,原順序保持不變。

# 使用列表推導(dǎo)式去重
list1 = ['a', 'b', 1, 3, 9, 9, 'a']
res = []
[res.append(i) for i in list1 if i not in res]
print(res)

結(jié)果:['a’, 'b’, 1, 3, 9]

三、使用集合轉(zhuǎn)換函數(shù)set()實(shí)現(xiàn)列表去重
原理:同一個(gè)集合的元素之間是不允許重復(fù)的

# set()列表去重
list1 = ['a', 'b', 1, 3, 9, 9, 'a']
list2 = list(set(list1))
print(list2)

結(jié)果:[1, 3, 9, 'b’, 'a’]
問(wèn)題:使用set()函數(shù)去重后,會(huì)自動(dòng)排序,則原列表的順序會(huì)發(fā)生改變
解決辦法有2種:
第一種方法,使用sort()方法

# # 第一種方法,sort()
list1 = ['a', 'b', 1, 3, 9, 9, 'a']
list2 = list(set(list1))
list2.sort(key=list1.index)
print(list2)

結(jié)果:['a’, 'b’, 1, 3, 9]
注:sort()方法沒(méi)有返回值,對(duì)列表元素進(jìn)行原地排序
第二種方法,使用sorted()函數(shù)

# 第二種方法,sored()
list1 = ['a', 'b', 1, 3, 9, 9, 'a']
list2 = sorted(list(set(list1)), key=list1.index)
print(list2)

結(jié)果:['a’, 'b’, 1, 3, 9]
注:python內(nèi)置函數(shù)sorted()函數(shù)返回新的列表,并不對(duì)原列表做任何修改

四、使用新建字典方式實(shí)現(xiàn)列表去重
原理:字典的"鍵"是不允許重復(fù)的
此方法去重后,原來(lái)順序保持不變。

# 使用新建字典實(shí)現(xiàn)列表去重
list1 = ['a', 'b', 1, 3, 9, 9, 'a']
dic = {}
dic = dic.fromkeys(list1).keys()
print(list(dic))

結(jié)果:['a’, 'b’, 1, 3, 9]

五、刪除列表中存在重復(fù)的數(shù)據(jù)
上面的4種去重方法,都是保留一個(gè),刪除其他
下面這種方法則是,只要存在重復(fù),一個(gè)都不保留

# 刪除存在重復(fù)的值,不保留
list1 = ['a', 'b', 1, 3, 9, 9, 'a']
list2 = [i for i in list1 if list1.count(i) == 1]
print(list2)

結(jié)果:['b’, 1, 3]

以上就是關(guān)于列表去重的5種方法,可以根據(jù)需求選擇對(duì)應(yīng)的方法。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多

    黄片免费观看一区二区| 热久久这里只有精品视频| 欧美日韩国产综合特黄| 大香蕉大香蕉手机在线视频| 国产亚洲神马午夜福利| 一级片黄色一区二区三区| 麻豆果冻传媒一二三区| 青青免费操手机在线视频| 国产午夜在线精品视频| 香蕉久久夜色精品国产尤物| 国产精品一区二区高潮| 久久久精品区二区三区| 国产毛片av一区二区三区小说| 亚洲一区二区三区免费的视频| 久久这里只精品免费福利| 亚洲免费视频中文字幕在线观看| 99久久国产精品成人观看| 久久精品a毛片看国产成人| 午夜国产福利在线播放| 国产精品视频久久一区| 国产美女精品人人做人人爽| 久久精品欧美一区二区三不卡| 东京热一二三区在线免| 日本午夜免费观看视频| 欧美欧美欧美欧美一区| 少妇人妻一级片一区二区三区| 国产精品欧美一区二区三区| 国产又黄又猛又粗又爽的片| 九九热视频免费在线视频| 人妻少妇av中文字幕乱码高清| 风间中文字幕亚洲一区| 午夜福利视频日本一区| 黑人粗大一区二区三区| 在线观看视频日韩精品| 久久碰国产一区二区三区| 91后入中出内射在线| 亚洲妇女作爱一区二区三区| 欧美日韩有码一二三区| 欧美极品欧美精品欧美| 国产一区国产二区在线视频| 91亚洲国产日韩在线|