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

Python函数实现数据去重及统计的方法

发布时间:2023-06-24 13:54:56

Python中提供了许多方法可以对数据进行去重及统计。下面就来详细介绍一下Python函数实现数据去重及统计的方法。

一、数据去重

1. set()

set()函数可以用来创建一个无序不重复元素集合。可以将原列表中的重复元素去除,得到一个去重后的新列表。set()函数的用法如下:

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

#输出结果为:
{1, 2, 3, 4, 5}

2. 利用字典的特性

字典是Python中一个非常常用的数据类型。由于字典的键不能相同,可以利用这一特性将原列表中的重复元素去除。首先创建一个空字典,然后遍历原列表,将元素逐个作为键添加到字典中。最后得到字典的键,即可得到一个去重后的新列表。代码如下:

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

#输出结果为:
[1, 2, 3, 4, 5]

二、数据统计

1. count()

count()函数可以用来统计列表中某个元素的出现次数。代码如下:

lst = [1, 2, 3, 1, 2, 4, 5]
num = lst.count(1)
print(num)

#输出结果为:
2

2. 利用字典的特性

同样地,可以利用字典的特性来统计原列表中每个元素的出现次数。遍历原列表,以元素作为字典的键,出现次数作为键对应的值。最后得到字典的键值对,即可得到每个元素的出现次数。代码如下:

lst = [1, 2, 3, 1, 2, 4, 5]
d = {}
for i in lst:
    if i not in d:
        d[i] = 1
    else:
        d[i] += 1
print(d)

#输出结果为:
{1: 2, 2: 2, 3: 1, 4: 1, 5: 1}

三、数据去重及统计

可以将两种方法结合起来,既去重又统计出每个元素出现的次数。代码如下:

lst = [1, 2, 3, 1, 2, 4, 5]
d = {}
new_lst = []
for i in lst:
    if i not in d:
        d[i] = 1
        new_lst.append(i)
    else:
        d[i] += 1
print(new_lst)
print(d)

#输出结果为:
[1, 2, 3, 4, 5]
{1: 2, 2: 2, 3: 1, 4: 1, 5: 1}

这里利用了字典的特性,如果字典中不存在某个键,就将对应的键值对添加到字典中。如果字典中已经存在该键,则将对应的值加1。

以上就是Python函数实现数据去重及统计的简单方法。对于大数据量的数据去重及统计,还需要用到其他数据结构和算法来优化程序的效率。