python的列表去重挺方便的,但是想获取列表中的元素是否重复,以及想知道重复了几次要如何做呢?


运行环境 Runtime environment

1
2
3
操作系统: Windos10  
IDE: pycharm 2021.3.1 x64
语言: python v3.9.1

背景

某日,检查数据库表,想看看数据跟需求文档是否一致,导出的时候发现,数据条数比需求文档多了几个。

那就说明同一个用于检索的关键词有可能采集到了多条结果。

多条结果用了同一个检索词,那我就想知道,每个检索词分别有多少条数据。

基于该应用场景,有了这样的需求。

code 代码

1
2
3
4
5
# 需要使用collections模块
from collections import Counter

a = ['a', 'b', 'b', 'b', 'c', 'c']
test = {key: value for key, value in dict(Counter(a)).items() if value > 0}

输出结果

{‘a’: 1, ‘b’: 3, ‘c’: 2}

总结

做数据清洗的时候,要对各种数据结构操作,都有点了解才行。

不过,如果键值对数量庞大的时候,这样方式,答应出来也是有一点点长的…