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除法运算小技巧
Apr 05 Python
Python验证码识别的方法
Jul 10 Python
python实现闹钟定时播放音乐功能
Jan 25 Python
TensorFlow实现模型评估
Sep 07 Python
python根据list重命名文件夹里的所有文件实例
Oct 25 Python
Python+OpenCV图片局部区域像素值处理详解
Jan 23 Python
python re.sub()替换正则的匹配内容方法
Jul 22 Python
Windows平台Python编程必会模块之pywin32介绍
Oct 01 Python
解决Tensorboard可视化错误:不显示数据 No scalar data was found
Feb 15 Python
PyCharm2020.1.2社区版安装,配置及使用教程详解(Windows)
Aug 07 Python
PyCharm 2020.2下配置Anaconda环境的方法步骤
Sep 23 Python
Python远程linux执行命令实现
Nov 11 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
3种平台下安装php4经验点滴
2006/10/09 PHP
php目录操作函数之获取目录与文件的类型
2010/12/29 PHP
php面向对象 字段的声明与使用
2012/06/14 PHP
apache+codeigniter 通过.htcaccess做动态二级域名解析
2012/07/01 PHP
ThinkPHP连接数据库的方式汇总
2014/12/05 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
2018/06/16 PHP
Laravel源码解析之路由的使用和示例详解
2018/09/27 PHP
ASP SQL防注入的方法
2008/12/25 Javascript
js全选实现和判断是否有复选框选中的方法
2015/02/17 Javascript
JavaScript中Date对象的常用方法示例
2015/10/24 Javascript
jQuery div拖拽用法实例
2016/01/14 Javascript
Bootstrap中表单控件状态(验证状态)
2016/08/04 Javascript
AngularJS bootstrap启动详解及实例代码
2016/09/14 Javascript
vue-router路由懒加载的实现(解决vue项目首次加载慢)
2018/08/28 Javascript
JavaScript代码调试方法实例小结
2019/01/05 Javascript
详解在网页上通过JS实现文本的语音朗读
2019/03/28 Javascript
浅析vue-router中params和query的区别
2019/12/24 Javascript
[04:37]DOTA2英雄梦之声Vol20发条
2014/06/20 DOTA
Python编写检测数据库SA用户的方法
2014/07/11 Python
Python命令行参数解析模块optparse使用实例
2015/04/13 Python
python中如何正确使用正则表达式的详细模式(Verbose mode expression)
2017/11/08 Python
python在每个字符后添加空格的实例
2018/05/07 Python
python实现socket+threading处理多连接的方法
2019/07/23 Python
Python小程序 控制鼠标循环点击代码实例
2019/10/08 Python
使用opencv将视频帧转成图片输出
2019/12/10 Python
opencv python Canny边缘提取实现过程解析
2020/02/03 Python
MATLAB数学建模之画图汇总
2020/07/16 Python
以实惠的价格轻松租车,免费取消:Easyrentcars
2019/07/16 全球购物
Java软件工程师综合面试题笔试题
2013/09/08 面试题
仓库班组长岗位职责
2013/12/12 职场文书
先进集体获奖感言
2014/02/13 职场文书
关于读书的演讲稿600字
2014/08/27 职场文书
银行党的群众路线教育实践活动对照检查材料
2014/09/25 职场文书
幼儿园教师考核评语
2014/12/31 职场文书
详解Java实现数据结构之并查集
2021/06/23 Java/Android
Golang 字符串的常见操作
2022/04/19 Golang