python按照list中字典的某key去重 python去重方法的实例代码

这篇文章主要介绍了python按照list中字典的某key去重 python去重方法的实例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧!

python按照list中字典的某key去重 python去重方法的实例代码

文章插图
当我们在写一个爬虫的时候,经常会遇到数据格式的问题,比方说json格式,它的结构如下:
data = [{'name':'小王','score':100},    {'name':'小李,'score':98},    {'name':'小黄','score':95},    {'name':'小王','score':100}]在这个字典里面,很明显有‘小王’这个重复的数据,此时我们可以使用对列表进行去重的方法,使用set()函数,如下:
data = list(set(data))【python按照list中字典的某key去重 python去重方法的实例代码】你以为这样就会将数据去重了,其实并没有,它会报这种错误;
“TypeError:unhashable type:’dict’”这里表示的是数据类型有错误,因为它表示一个字典类型 。
解决方法如下:
先定义一个函数,使用它可以进行对一个列表list进行去重,在使用一个key作为一个去重的键,key表示的是你需要对哪一个数据进行去重,那就把哪一个数据作为一个键,最后对数据进行筛选去重,代码如下:
def DelRepeat(data,key):  new_data = [] # 用于存储去重后的list  values = []  # 用于存储当前已有的值  for d in data:    if d[key] not in values:      new_data.append(d)      values.append(d[key])  return new_data在代码中,首先定义了一个函数DelRepeat,是用对列表进行去重操作如何定义了两个空列表,一个用来存放去重后的数据,一个用来存储现在原有的值在使用for循环,来进行对列表的遍历操作,最后得到的运行结果是:
[{'name':'小王','score':100},{'name':'小李,'score':98},{'name':'小黄','score':95}]从结果可以看出来,去重操作已经成功 。
关于python按照list中字典的某key去重,python去重方法的示例代码文章就介绍到这了,如果还有其他想学习的内容,可以继续关注哦!会每天给带来新的知识讲解 。

    推荐阅读