python list去重方法及效率

1、直观方法
li=[1,2,3,4,5,1,2,3]
new_li=[]
for i in li:
    if i not in new_li:
        new_li.append(i)
print(new_li)

总结:这样可以做出来,但是效率不行。但是此方法保证了列表的顺序性。

2、利用set的自动去重功能
li=[1,2,3,4,5,1,2,3]
li=list(set(li))
print(li)

将列表转化为集合再转化为列表,利用集合的自动去重功能。简单快速。
缺点是:使用set方法无法保证去重后的顺序。

但是,可以通过列表中索引(index)的方法保证去重后的顺序不变。

li
new_li=list(set(li))
new_li.sort(key=li.index)
print(new_li)
3. 利用字典的keys方法
li=[1,2,3,4,5,1,2,3]
li_new = {}.fromkeys(li).keys()

版权声明:本文为harry_128原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。