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

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] = 1
lst = list(d.keys())
print(lst)  # [1, 2, 3, 4, 5]

方法四:使用 Counter 对象

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

from collections import Counter

lst = [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 pd

lst = [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 np

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

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

你可能感兴趣的:(python,笔记,python,pandas,numpy)