python按照list中字典的某key去重的示例代码

 更新时间:2020年10月13日 11:22:01   作者:不正经的kimol君  
这篇文章主要介绍了python按照list中字典的某key去重的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一、需求说明

当我们写爬虫的时候,经常会遇到json格式的数据,它通常是如下结构:

data = [{'name':'小K','score':100},
    {'name':'小J','score':98},
    {'name':'小Q','score':95},
    {'name':'小K','score':100}]

很显然名字为小K的数据重复了,我们需要进行去重。通常对于list的去重,我们可以用set()函数,即:

data = list(set(data))

然而,运行之后你会发现它报错了:


list里的数据不能是dict类型,那么该怎么办呢?

二、我的解决方案

定义一个去重的函数即可,根据里面的某个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

参数data为需要去重的list,key为去重的健(即按照哪个key来去重),去重后结果为:

[{'name': '小K', 'score': 100},
 {'name': '小J', 'score': 98},
 {'name': '小Q', 'score': 95}]

成功去重!

到此这篇关于python按照list中字典的某key去重的示例代码的文章就介绍到这了,更多相关python list字典的某key去重内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • Pytest单元测试框架生成HTML测试报告及优化的步骤

    Pytest单元测试框架生成HTML测试报告及优化的步骤

    本文主要介绍了Pytest单元测试框架生成HTML测试报告及优化的步骤,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • Python 实现微信防撤回功能

    Python 实现微信防撤回功能

    在微信上突然看到“XXX撤回一条消息”的时候,心里痒不痒?现在就教你如何使用python实现消息防撤回的功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,感兴趣的朋友一起看看吧
    2019-04-04
  • Python RPA自动化机器人模拟鼠标键盘

    Python RPA自动化机器人模拟鼠标键盘

    这篇文章主要介绍了Python RPA自动化机器人模拟鼠标键盘,RPA,全称为Robotic Process Automation,即机器人流程自动化。我们可以利用RPA技术将工作中可重复的部分流程化,让机器替我们完成这一工作
    2023-02-02
  • 全面解析Python中的self技巧

    全面解析Python中的self技巧

    在Python中,类的方法定义时通常会包含一个名为 self 的参数,它表示对象实例本身,下面我们就来了解一下self的相关应用技巧,需要的可以参考下
    2024-01-01
  • Python Pandas中创建Series的三种方法总结

    Python Pandas中创建Series的三种方法总结

    这篇文章主要介绍了Python Pandas中创建Series的三种方法总结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • OpenCV计算平均值cv::mean实例代码

    OpenCV计算平均值cv::mean实例代码

    函数cv::mean计算数组元素的平均值M,每个通道都是独立的,并返回这个平均值,这篇文章主要给大家介绍了关于OpenCV计算平均值cv::mean的相关资料,需要的朋友可以参考下
    2021-08-08
  • 基于OpenCV实现视频循环播放

    基于OpenCV实现视频循环播放

    这篇文章主要为大家介绍了如何利用OpenCV实现视频的循环播放,本文为大家提供了两种方式,一个是利用Python语言实现,一个是利用C++语言实现,需要的可以参考一下
    2022-02-02
  • python之js逆向功能演示详解

    python之js逆向功能演示详解

    这篇文章主要为大家介绍了python之js逆向功能演示详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • Scrapy-Redis之RedisSpider与RedisCrawlSpider详解

    Scrapy-Redis之RedisSpider与RedisCrawlSpider详解

    这篇文章主要介绍了Scrapy-Redis之RedisSpider与RedisCrawlSpider详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • 浅谈关于Python3中venv虚拟环境

    浅谈关于Python3中venv虚拟环境

    这篇文章主要介绍了浅谈关于Python3中venv虚拟环境,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08

最新评论