Python刪除列表中的重複元素並保持順序不變

2021-10-03 03:10:08 字數 859 閱讀 3983

方式一:

原理:建立乙個空列表,通過對比列表中是否存在這個元素,存在則新增,不存在則pass

list1 =[8

,2,3

,7,1

,5,6

,2,3

,4,4

]list2 =

for i in list1:

# 如果不在列表中

ifnot i in list3:

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]

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

python list列表中刪除多個重複元素

我們以下面這個list為例,刪除其中所有值為6的元素 l 9,6 5,6 6,7 8,9 6,0 首先嘗試remove方法 l.remove 6 print l 結果為 9,5,6,6,7,8,9,6,0 只刪除了第乙個為6的元素。如果採用for迴圈遍歷各元素 for x in l if x 6 l...

刪除列表中重複元素的幾種方法

l1 1,1,2,2,3,3,3,3,6,6,5,5,2,2 for el in l1 if l1.count el 1 l1.remove el print l1 結果 1,3,3,6,5,2,2 會漏刪,因為刪除乙個元素後,後面的元素向前補位,導致緊跟的乙個元素被跳過.l1 1,1,2,2,3,...

查詢統計python列表中的重複元素

如何快速的統計出那些是重複的呢?形如aa 1,2,2,3,2,4 的乙個list,其中有重複元素,由於集合中重複元素無意義,所以 bb list set aa 可很容易得到去除重複的列表 1,2,3,4 若比較aa和bb的長度,很容易發現有重複,但無法指出重複的元素是哪些。那麼用網上乙個比較兩個li...