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]

如果筆者有其他的方法,會慢慢往文章裏面填寫,感謝

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