列表去重在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í)。 # 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)列表去重 # set()列表去重 list1 = ['a', 'b', 1, 3, 9, 9, 'a'] list2 = list(set(list1)) print(list2) 結(jié)果:[1, 3, 9, 'b’, 'a’] # # 第一種方法,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] # 第二種方法,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] 四、使用新建字典方式實(shí)現(xiàn)列表去重 # 使用新建字典實(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ù) # 刪除存在重復(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)的方法。 |
|