Python列表去重的几种方法和实例

在 Python 中,列表去重有多种方法,下面分别介绍这些方法的实现。

方法一:使用 set() 函数

set() 函数可以将列表转换成集合,集合中不允许有重复的元素,因此可以实现列表去重。

lst = [1, 2, 3, 3, 4, 4, 5]lst = list(set(lst))print(lst)# [1, 2, 3, 4, 5]

方法二:使用列表推导式

可以使用列表推导式,将列表中不重复的元素生成一个新的列表。

lst = [1, 2, 3, 3, 4, 4, 5]lst = [i for i in lst if lst.count(i) == 1]print(lst)# [1, 2, 5]

方法三:使用字典

通过字典的键唯一性,将列表中的元素作为键,生成一个字典,然后再将字典的键转换成列表即可。

lst = [1, 2, 3, 3, 4, 4, 5]d = {}for i in lst:d[i] = 1lst = list(d.keys())print(lst)# [1, 2, 3, 4, 5]

方法四:使用 Counter 对象

可以使用 Python 的 collections 模块中的 Counter 对象,统计列表中每个元素的出现次数,然后再将出现次数为 1 的元素生成一个新的列表。

from collections import Counterlst = [1, 2, 3, 3, 4, 4, 5]c = Counter(lst)lst = [k for k, v in c.items() if v == 1]print(lst)# [1, 2, 5]

方法五:使用 Pandas 库

可以使用 Pandas 库中的 drop_duplicates() 函数,将列表转换成 Pandas 的数据框,然后再使用该函数去重。

import pandas as pdlst = [1, 2, 3, 3, 4, 4, 5]df = pd.DataFrame(lst)lst = list(df.drop_duplicates()[0])print(lst)# [1, 2, 3, 4, 5]

方法六:使用 Numpy 库

可以使用 Numpy 库中的 unique() 函数,将列表转换成 Numpy 数组,然后再使用该函数去重。

import numpy as nplst = [1, 2, 3, 3, 4, 4, 5]lst = np.array(lst)lst = list(np.unique(lst))print(lst)# [1, 2, 3, 4, 5]

这些方法都可以实现列表去重,具体选择哪个方法,可以根据实际情况选择。