您的位置:

Python函数操作示例:对列表进行去重

一、列表去重的概念

对于编程中的列表,如果里面存在重复的元素,有时候会影响数据的处理及计算结果。此时,需要将列表中的重复元素去除,只保留不同元素。这个操作就被称为“列表去重”。

二、Python中去重的方法

在Python中,对于列表去重的操作有多种方法:

  1. 使用set函数转换成集合类型的数据再将其转换成列表
  2. 使用for循环外加if判断实现去重
  3. 使用列表推导式
  4. 使用pandas库中的去重函数

三、set函数转换成集合类型的数据再将其转换成列表


a = [4,1,5,3,3,2,8,9,8]
b = list(set(a))
print(b)

上面代码会把列表a中的重复元素去除,只保留不同元素。

四、使用for循环外加if判断实现去重


a = [4,1,5,3,3,2,8,9,8]
b = []
for i in a:
    if i not in b:
        b.append(i)
print(b)

这种方法里,对于列表a中的每一个元素,都判断一次是否已经在列表b里存在。如果不存在,就把这个元素添加到b里,这样,就完成了去重操作。

五、使用列表推导式


a = [4,1,5,3,3,2,8,9,8]
b = list(set([i for i in a]))
print(b)

这个方法相当于把方法三的set语句放到了列表推导式里,即先使用列表推导式取出a中的元素i,再用set函数去掉重复元素,然后再通过list函数把结果转换成列表格式。

六、使用pandas库中的去重函数


import pandas as pd
a = [4,1,5,3,3,2,8,9,8]
b = pd.unique(a).tolist()
print(b)

在使用pandas库中,可以调用unique()函数实现去重,该函数返回的是一个Numpy数组,需要使用tolist()方法转为列表格式。

七、总结

本文介绍了Python中对于列表去重操作的四种方法:使用set函数转换、使用for循环外加if判断、使用列表推导式和使用pandas库中的去重函数。以上四种方法都可以有效地实现对列表的去重,但对于数据量较大的列表,pandas库中的去重函数可能会更高效一些。