Python删除列表中的重复元素并保持顺序不变

方式一:

原理:创建一个空列表,通过对比列表中是否存在这个元素,存在则添加,不存在则pass

list1 = [
    8, 2, 3, 7, 1, 5, 6, 2, 3, 4, 4
]
list2 = []
for i in list1:
	# 如果不在列表中
    if not i in list3:
        list2.append(i)
print(list2)

打印结果:

[8, 2, 3, 7, 1, 5, 6, 4]

方式二:

原理:
通过set集合的原理,集合不允许重复,我们可以先通过集合把重复的给除掉
因为set原理上是没有顺序可言的,但是Python的解释器帮我们排好序给我们显示出来了,故我们还要进行排序
用sort函数,key为原列表中元素的第一个索引值

list1 = [
    8, 2, 3, 7, 1, 5, 6, 2, 3, 4, 4
]
list2 = list(set(list1))
# 查找这个list1中元素的第一个索引值
list2.sort(key=list1.index)
print(list2)

打印结果:

[8, 2, 3, 7, 1, 5, 6, 4]

如果笔者有其他的方法,会慢慢往文章里面填写,感谢

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章