Python实现对列表中重复元素进行去重的方法小结
2020-06-11 本文已影响0人
烂笔头2020
1、运用新建字典的方式,去除重复的键
list=['3073760388_159001185200041170','8757004266978667','8757004266190263','3073191454_279001185200170033','8757004266978667','3073760388_159001185200041170']
dic = {}
dic2=dic.fromkeys(list)
list = dic.fromkeys(list).keys()#字典在创建新的字典时,有重复key则覆盖,value 为字典所有键对应的初始值。不写所有的key值所对应的value值均为None,写了则为默认的值
print(list)
print(dic2)
#fromkeys 方法只用来创建新字典,不负责保存。当通过一个字典来调用 fromkeys 方法时,如果需要后续使用一定记得给他复制给其他的变量。
2、利用集合,直接将列表转化为集合,自动去重后转回列表。有一个问题,转换为集合的同时,数据无序了。
li = [11,22,22,33,44,44]
set = set(li)
li = list(set)
print(li)
3、用列表的推导式
the_list=['3073760388_159001185200041170','8757004266978667','8757004266190263','3073191454_279001185200170033','8757004266978667','3073760388_159001185200041170']
lis = []
[lis.append(i) for i in the_list if not i in lis]
print(lis)