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


Posted in Python onOctober 13, 2020

一、需求说明

当我们写爬虫的时候,经常会遇到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))

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

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

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去重内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木! 

Python 相关文章推荐
python压缩文件夹内所有文件为zip文件的方法
Jun 20 Python
详解Python中映射类型的内建函数和工厂函数
Aug 19 Python
详谈套接字中SO_REUSEPORT和SO_REUSEADDR的区别
Apr 28 Python
Python检查和同步本地时间(北京时间)的实现方法
Dec 03 Python
解决pycharm每次新建项目都要重新安装一些第三方库的问题
Jan 17 Python
python3 pygame实现接小球游戏
May 14 Python
pycharm 关掉syntax检查操作
Jun 09 Python
django form和field具体方法和属性说明
Jul 09 Python
Python基于xlutils修改表格内容过程解析
Jul 28 Python
python 监控logcat关键字功能
Sep 04 Python
Python OpenCV超详细讲解调整大小与图像操作的实现
Apr 02 Python
Python 操作pdf pdfplumber读取PDF写入Exce
Aug 14 Python
Python importlib模块重载使用方法详解
Oct 13 #Python
Pycharm添加虚拟解释器报错问题解决方案
Oct 13 #Python
Python本地及虚拟解释器配置过程解析
Oct 13 #Python
Pycharm快捷键配置详细整理
Oct 13 #Python
Django项目创建及管理实现流程详解
Oct 13 #Python
OpenCV读取与写入图片的实现
Oct 13 #Python
Django Form常用功能及代码示例
Oct 13 #Python
You might like
php中有关字符串的4个函数substr、strrchr、strstr、ereg介绍和使用例子
2014/04/24 PHP
YII Framework框架教程之安全方案详解
2016/03/14 PHP
php中static 静态变量和普通变量的区别
2016/12/01 PHP
PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
2017/09/17 PHP
Jquery 设置标题的自动翻转
2009/10/03 Javascript
Javascript 遍历页面text控件详解
2014/01/06 Javascript
JavaScript实现的一个计算数字步数的算法分享
2014/12/06 Javascript
JS获取各种宽度、高度的简单介绍
2014/12/19 Javascript
避免jQuery名字冲突 noConflict()方法
2016/07/30 Javascript
jQuery Ajax自定义分页组件(jquery.loehpagerv1.0)实例详解
2017/05/01 jQuery
VUE2.0+ElementUI2.0表格el-table实现表头扩展el-tooltip
2018/11/30 Javascript
angular中两种表单的区别(响应式和模板驱动表单)
2018/12/06 Javascript
koa+jwt实现token验证与刷新功能
2019/05/30 Javascript
vue项目中锚点定位替代方式
2019/11/13 Javascript
Vue-CLI与Vuex使用方法实例分析
2020/01/06 Javascript
关于angular引入ng-zorro的问题浅析
2020/09/09 Javascript
[48:29]2018DOTA2亚洲邀请赛3月30日 小组赛A组 LGD VS KG
2018/03/31 DOTA
使用Python的web.py框架实现类似Django的ORM查询的教程
2015/05/02 Python
Python连接MySQL并使用fetchall()方法过滤特殊字符
2016/03/13 Python
python生成二维码的实例详解
2017/10/29 Python
Python3中类、模块、错误与异常、文件的简易教程
2017/11/20 Python
Python 3.x基于Xml数据的Http请求方法
2018/12/28 Python
python实现诗歌游戏(类继承)
2019/02/26 Python
Scrapy框架基本命令与settings.py设置
2020/02/06 Python
python字符串下标与切片及使用方法
2020/02/13 Python
BIBLOO捷克:购买女装、男装、童装、鞋和配件
2017/01/27 全球购物
微软中国官方旗舰店:销售Surface、Xbox One、笔记本电脑、Office
2018/07/23 全球购物
怀旧香味蜡烛:Homesick
2019/11/02 全球购物
哥德堡通行证:Gothenburg Pass
2019/12/09 全球购物
食品仓管员岗位职责
2015/04/01 职场文书
上下班时间调整通知
2015/04/23 职场文书
2015仓库保管员年终工作总结
2015/05/13 职场文书
观后感开头
2015/06/19 职场文书
如何书写先进事迹材料?
2019/07/02 职场文书
JVM的类加载器和双亲委派模式你了解吗
2022/03/13 Java/Android
Tomcat 与 maven 的安装与使用教程
2022/06/16 Servers