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 相关文章推荐
wxPython中listbox用法实例详解
Jun 01 Python
python读取TXT到数组及列表去重后按原来顺序排序的方法
Jun 26 Python
python获取局域网占带宽最大3个ip的方法
Jul 09 Python
python获取代码运行时间的实例代码
Jun 11 Python
Mac在python3环境下安装virtualwrapper遇到的问题及解决方法
Jul 09 Python
Python Django Vue 项目创建过程详解
Jul 29 Python
详解Python打包分发工具setuptools
Aug 05 Python
Python爬虫 批量爬取下载抖音视频代码实例
Aug 16 Python
pycharm无法导入本地模块的解决方式
Feb 12 Python
浅谈django 重载str 方法
May 19 Python
python 实现一个图形界面的汇率计算器
Nov 09 Python
基于Python编写一个监控CPU的应用系统
Jun 25 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生成二维码的几种方式整理及使用实例
2013/06/03 PHP
使用PHP备份MySQL和网站发送到邮箱实例代码
2013/11/28 PHP
easyui的tabs update正确用法分享
2014/03/21 PHP
简单概括PHP的字符串中单引号与双引号的区别
2016/05/07 PHP
php 删除一维数组中某一个值元素的操作方法
2018/02/01 PHP
php微信开发之谷歌测距
2018/06/14 PHP
微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解
2019/04/10 PHP
ajax无刷新动态调用股票信息(改良版)
2008/11/01 Javascript
扩展easyui.datagrid,添加数据loading遮罩效果代码
2010/11/02 Javascript
IE6/7/8/9不支持exec的简写方式
2011/05/25 Javascript
使用documentElement正确取得当前可见区域的大小
2014/07/25 Javascript
jQuery中index()的用法分析
2014/09/05 Javascript
使用JavaScript脚本判断页面是否在微信中被打开
2016/03/06 Javascript
xmlplus组件设计系列之文本框(TextBox)(3)
2017/05/03 Javascript
vue2.0+vue-dplayer实现hls播放的示例
2018/03/02 Javascript
Flutter部件内部状态管理小结之实现Vue的v-model功能
2019/06/11 Javascript
layui 富文本图片上传接口与普通按钮 文件上传接口的例子
2019/09/23 Javascript
js实现头像上传并且可预览提交
2020/12/25 Javascript
Python实现多进程共享数据的方法分析
2017/12/04 Python
Django入门使用示例
2017/12/12 Python
详解如何利用Cython为Python代码加速
2018/01/27 Python
Tensorflow的常用矩阵生成方式
2020/01/04 Python
Python3操作MongoDB增册改查等方法详解
2020/02/10 Python
Pycharm中安装wordcloud等库失败问题及终端通过pip安装的Python库如何添加到Pycharm解释器中(推荐)
2020/05/10 Python
django使用graphql的实例
2020/09/02 Python
Numpy中的数组搜索中np.where方法详细介绍
2021/01/08 Python
CSS3 网页下拉菜单代码解释 中文翻译
2010/02/27 HTML / CSS
英国高级百货公司:Harvey Nichols
2017/01/29 全球购物
XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?
2016/01/12 面试题
策划主管的工作职责
2013/11/24 职场文书
院党委组织查摆问题对照检查材料思想汇报2014
2014/10/08 职场文书
薪资证明范本
2015/06/19 职场文书
校长新学期致辞
2015/07/30 职场文书
美德少年事迹材料(2016推荐版)
2016/02/25 职场文书
vue 把二维或多维数组转一维数组
2022/04/24 Vue.js
python和C/C++混合编程之使用ctypes调用 C/C++的dll
2022/04/29 Python