欢迎访问宙启技术站
智能推送

列表去重的几种方法介绍——Python去重函数详解

发布时间:2023-06-22 01:37:53

在Python中,列表去重是一项非常常见的操作。由于列表可能包含相同的元素,因此需要对列表进行去重以避免重复出现的问题。在Python中,可以使用许多不同的方法对列表进行去重。以下是一些常用的方法:

1.使用set() 函数

在Python中,set()函数可以将列表转化为集合类型,从而实现去重的效果。set是一种无序不重复的数据类型,它是由一组可hash的对象构成,可以用来去重。

示例代码:

a = [1,2,3,1,2,3,4,5]
new_a = list(set(a))
print(new_a)

输出结果:

[1, 2, 3, 4, 5]

上述代码中,首先通过将列表a转化为set类型,从而去除了其中的重复项。然后再将set类型转化为list类型,得到了一个去重后的新列表。

2.使用列表推导式

使用列表推导式是一种非常简单、易懂的去重技巧,它可以快速地对列表进行去重。

示例代码:

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

输出结果:

[1, 2, 3, 4, 5]

上述代码中,通过对列表a进行遍历操作,将其中不重复的元素添加到新列表new_a中,从而达到去重的效果。

3.使用for循环

使用for循环是一种比较基础的方法,在Python中也能够很好地实现列表去重。

示例代码:

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

输出结果:

[1, 2, 3, 4, 5]

上述代码中,通过for循环遍历原列表a,如果元素i不在新列表new_a中,则将其添加到新列表new_a中,从而达到去重的效果。

4.使用字典键值的 性

在Python中,字典中的键具有 性,可以通过利用字典键的 性来实现列表去重。

示例代码:

a = [1,2,3,1,2,3,4,5]
new_a = list({}.fromkeys(a).keys())
print(new_a)

输出结果:

[1, 2, 3, 4, 5]

上述代码中,首先通过{}.fromkeys(a)将原列表a转化为一个字典类型,然后取字典键值的list,得到去重的新列表。

5.使用collections.Counter()函数

在Python的collections模块中,提供了一个Counter()函数,可以方便地统计列表中每个元素出现的次数。通过使用Counter()函数来统计元素出现的次数,从而得到去重后的新列表。

示例代码:

from collections import Counter
a = [1,2,3,1,2,3,4,5]
new_a = list(dict(Counter(a)).keys())
print(new_a)

输出结果:

[1, 2, 3, 4, 5]

上述代码中,首先通过Counter(a)函数生成一个字典对象,其键为原列表a中的元素,值为每个元素重复出现的次数,然后将其转换为一个普通的字典类型,并取出字典的键值来得到去重后的新列表。

综上所述,以上就是Python中几种常用的列表去重方法。每种方法都有其独有的优缺点,可以根据实际需求选择最适合的方法。