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编写一个闹钟功能
Jul 11 Python
使用Python读取安卓手机的屏幕分辨率方法
Mar 31 Python
python Pandas 读取txt表格的实例
Apr 29 Python
详解Pytorch 使用Pytorch拟合多项式(多项式回归)
May 24 Python
实时获取Python的print输出流方法
Jan 07 Python
python多线程并发让两个LED同时亮的方法
Feb 18 Python
python如何实现代码检查
Jun 28 Python
jupyter notebook读取/导出文件/图片实例
Apr 16 Python
django Layui界面点击弹出对话框并请求逻辑生成分页的动态表格实例
May 12 Python
Python 为什么推荐蛇形命名法原因浅析
Jun 18 Python
Python实时监控网站浏览记录实现过程详解
Jul 14 Python
python 将列表里的字典元素合并为一个字典实例
Sep 01 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
js不完美解决click和dblclick事件冲突问题
2012/07/16 Javascript
6款经典实用的jQuery小插件及源码(对话框/提示工具等等)
2013/02/04 Javascript
Flexigrid在IE下不显示数据的处理的解决方法
2013/10/24 Javascript
JS求平均值的小例子
2013/11/29 Javascript
JavaScript弹出窗口方法汇总
2014/08/12 Javascript
jQuery tagsinput在h5邮件客户端中应用详解
2016/09/26 Javascript
vuex实现简易计数器
2016/10/27 Javascript
js仿iphone秒表功能 计算平均数
2017/01/11 Javascript
Vue自定义指令拖拽功能示例
2017/02/17 Javascript
Vue响应式原理深入解析及注意事项
2017/12/11 Javascript
JS实现字符串去重及数组去重的方法示例
2018/04/21 Javascript
详解如何在你的Vue项目配置vux
2018/06/04 Javascript
js实现下拉框二级联动
2018/12/04 Javascript
javascript对HTML字符转义与反转义
2018/12/13 Javascript
详解TypeScript+Vue 插件 vue-class-component的使用总结
2019/02/18 Javascript
利用Promise自定义一个GET请求的函数示例代码
2019/03/20 Javascript
[02:24]DOTA2痛苦女王 英雄基础教程
2013/11/26 DOTA
Python最基本的输入输出详解
2015/04/25 Python
Python结合ImageMagick实现多张图片合并为一个pdf文件的方法
2018/04/24 Python
pytorch 获取层权重,对特定层注入hook, 提取中间层输出的方法
2019/08/17 Python
关于阿里云oss获取sts凭证 app直传 python的实例
2019/08/20 Python
python分布式爬虫中消息队列知识点详解
2020/11/26 Python
html5 touch事件实现触屏页面上下滑动(二)
2016/03/10 HTML / CSS
美国著名童装品牌:OshKosh B’gosh
2016/08/05 全球购物
美国办公用品购物网站:Quill.com
2016/09/01 全球购物
意大利制造的西装、衬衫和针对男士量身定制的服装:Lanieri
2018/04/08 全球购物
全球最大的在线橄榄球商店:Lovell Rugby
2018/05/20 全球购物
UNIX文件系统分类
2014/11/11 面试题
社团活动总结范文
2014/04/26 职场文书
学校党的群众路线教育实践活动对照检查材料
2014/09/24 职场文书
项目转让协议书
2014/10/27 职场文书
二年级数学教学反思
2016/02/16 职场文书
python编程实现清理微信重复缓存文件
2021/11/01 Python
vue项目支付功能代码详解
2022/02/18 Vue.js
vue判断按钮是否可以点击
2022/04/09 Vue.js
Python使用pandas导入csv文件内容的示例代码
2022/12/24 Python