刪除list中重複的元素

2021-08-29 14:24:40 字數 827 閱讀 9293

1.可以用set

2.但是set不能針對元素是list的list。比如

>>> l2

[[2, 3], [3, 2], [2, 3]]

>>> set(l2)

traceback (most recent call last):

file "", line 1, in

typeerror: list objects are unhashable

3.可以使用列表遍歷,但是切忌不能同時遍歷同時刪除。因為這樣一邊改變了長度,再一邊遍歷,會有遺漏。

>>> a = [1,2,1,2,1,2]

>>> for i in a:

if a.count(i) > 1:

a.remove(i)

>>> a

[2, 1, 2]

如果要使用列表遍歷,可以從後往前遍歷刪除,因為這樣不會更改後續要操作的元素的索引。

>>> a=[1,2,1,2,1,2]

>>> for i in a[::-1]:

if a.count(i)>1:

a.remove(i)

>>> a

[1, 2]

4.set可以針對元素是tuple的list進行操作

>>> l1=[[2,3],[3,2],[2,3]]

>>> [list(j) for j in list(set([tuple(i) for i in l1]))]

[[3, 2], [2, 3]]

java中刪除list重複元素

方法一 迴圈元素刪除 刪除arraylist中重複元素 public static void removeduplicate list list system.out.println list 方法二 通過hashset剔除 刪除arraylist中重複元素 public static void r...

java刪除list中重複元素的方法

刪除arraylist中重複元素 public static void removeduplicate list list system.out.println list 方法二 通過hashset剔除 刪除arraylist中重複元素 public static void removeduplic...

刪除list中重複的值

方法一 迴圈元素刪除 刪除arraylist中重複元素 public static void removeduplicate list list system.out.println list 方法二 通過hashset剔除 刪除arraylist中重複元素 public static void r...