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 相关文章推荐
tf.truncated_normal与tf.random_normal的详细用法
Mar 05 Python
Python实现常见的回文字符串算法
Nov 14 Python
python 随机生成10位数密码的实现代码
Jun 27 Python
浅谈python3中input输入的使用
Aug 02 Python
python实现简单成绩录入系统
Sep 19 Python
python使用Geany编辑器配置方法
Feb 21 Python
vue常用指令代码实例总结
Mar 16 Python
Python实现读取并写入Excel文件过程解析
May 27 Python
解决Keras使用GPU资源耗尽的问题
Jun 22 Python
Python爬虫之Selenium中frame/iframe表单嵌套页面
Dec 04 Python
Python使用Opencv实现边缘检测以及轮廓检测的实现
Dec 31 Python
python装饰器代码解析
Mar 23 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输出表格的实现代码(修正版)
2010/12/29 PHP
怎样给PHP源代码加密?PHP二进制加密与解密的解决办法
2013/04/22 PHP
Windows下PHP开发环境搭建教程(Apache+PHP+MySQL)
2016/06/13 PHP
Thinkphp集成抖音SDK的实现方法
2020/04/28 PHP
PHP笛卡尔积实现原理及代码实例
2020/12/09 PHP
swoole锁的机制代码实例讲解
2021/03/04 PHP
js 点击页面其他地方关闭弹出层(示例代码)
2013/12/24 Javascript
Javascript遍历table中的元素示例代码
2014/07/08 Javascript
JS+CSS实现简单滑动门(滑动菜单)效果
2015/09/19 Javascript
总结几道关于Node.js的面试问题
2017/01/11 Javascript
Node.js设置CORS跨域请求中多域名白名单的方法
2017/03/28 Javascript
vue监听scroll的坑的解决方法
2017/09/07 Javascript
微信小程序实现自定义加载图标功能
2018/07/19 Javascript
微信小程序实现判断是分享到群还是个人功能示例
2019/05/03 Javascript
微信小程序在ios下Echarts图表不能滑动的问题解决
2019/07/10 Javascript
js计时事件实现圆形时钟
2020/03/25 Javascript
[02:26]DOTA2英雄米拉娜基础教程
2013/11/25 DOTA
[31:29]完美世界DOTA2联赛PWL S3 INK ICE vs Magma 第一场 12.20
2020/12/23 DOTA
用Python实现换行符转换的脚本的教程
2015/04/16 Python
为Python的web框架编写MVC配置来使其运行的教程
2015/04/30 Python
Python动刷新抢12306火车票的代码(附源码)
2018/01/24 Python
tensorflow 恢复指定层与不同层指定不同学习率的方法
2018/07/26 Python
Python 判断图像是否读取成功的方法
2019/01/26 Python
Python实现账号密码输错三次即锁定功能简单示例
2019/03/29 Python
wxpython+pymysql实现用户登陆功能
2019/11/19 Python
Python 实现将大图切片成小图,将小图组合成大图的例子
2020/03/14 Python
德国家具在线:Fashion For Home
2017/03/11 全球购物
荷兰超市:DEEN
2018/03/14 全球购物
致长跑运动员广播稿
2014/01/31 职场文书
公益活动邀请函
2014/02/05 职场文书
大学生求职计划书
2014/04/30 职场文书
学习焦裕禄观后感
2015/06/09 职场文书
2016机关干部作风建设心得体会
2016/01/21 职场文书
导游词之安徽九华山
2019/09/18 职场文书
mysql5.7使用binlog 恢复数据的方法
2021/06/03 MySQL
浅谈MySQL函数
2021/10/05 MySQL