[TOC]

目标

现有字典列表

#

A = [ {dict1}, {dict2} ]

B = [ {dict3}, {dict2} ]

C = [ {dict3}, {dict4} ]

M = [A,B,C]

X = []

将M去重后的字典放入列表X中,得到X = [{dict1}, {dict2},{dict3}, {dict4}]

难点

字典列表

大家可能一开始会想到使用set()函数转化为集合,自动去重。但是集合是使用hash来计算并去重的,但是字典类型无法使用Hash计算。虽然可以使用类class或者命名元组namedtupe来替换字典,但是这次的场景是无法变更列表的产生源的。

列表无集合操作的方法

列表之间无法使用交并差(&,|,-)的方式的集合计算方法

思路

# json,性能差

data = set([json.dumps(d) for d in data])

data = [json.loads(d) for d in data]

# 这种方式只能对ABC生效,对M还需要再一次循环,玛法

sortedlist = []

for item in listwhichneedssorting:

if item not in sortedlist:

sortedlist.append(item)

# 这种缩短了两行

for i in M:

X.extend(filter(lamda s: s not in X, i))

# 使用extend()而不是append(),因为我们需要拼接的是字典列表,而不是列表的列表

# lamda s: s not in X, M 匿名函数,对i中的元素是否在X中进行判断

# filter() 对上面匿名函数中不满足条件(即重复的字典)进行过滤,返回尚未添加到X中的字典元素列表

# 使用extend()进行追加到X中

标签:dict3,dict2,Python,列表,item,data,字典

来源: http://blog.51cto.com/l0vesql/2346778

python字典添加列表_【Python】对字典列表进行去重追加相关推荐

  1. python字典添加数组_一步一步学Python3(小学生也适用) 第十三篇: 字典Dict类型

    前面我们已经学习了Python的字符串,列表,元组,这一篇我们将学习字典,字典的使用频率是非常高,跟前面几篇一样,只要你用Python编程,就避不开Python字典. 一.创建字典 字典由键(key) ...

  2. 字典添加数据_【Python基础学习】4. 数据类型之字典及其操作

    知行校园汇 记录学习.分享干货.吐槽人生! 关注 相关说明 文章内容:Python数据类型之字典及其操作 作者博客:csdn.cxhit.com www.cxhit.com 1. 什么是字典 在Pyt ...

  3. python定义字典列表_[Python基础]五、列表、元组和字典

    5.1 列表List(列表)是Python中最频繁的数据类型,在其他语言中叫数组 专门用于存储一串信息 列表用[]定义,数据之间使用逗号隔开 列表的索引从0开始 5.1.1列表常用操作 name_li ...

  4. python字典浅复制_元组,字典,浅复制,集合

    元组(tuple) Python的元组与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号,列表使用方括号. 元组的创建 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可 tup1 ...

  5. python偶数列表_使用条件偶数列表创建带有地图的元组 - python

    这是我的代码: evenorodd=[1,2,3] list1=['a','b','c'] list2=['A','B','C'] res = tuple(map(lambda x: True if ...

  6. python整数格式显示_[python之路]格式化显示

    格式化显示 以下整理自 python字符串格式化 *输出结果的空格在md预览中没效果(用代码块三个撇号就可以保留格式了) 一.使用格式化符来格式化字符串: Python支持的所有格式化符: 格式化符 ...

  7. python自动化pdf报告_[Python] 自动化办公 PDF提取文字、表格、图片

    转载请注明:陈熹 chenx6542@foxmail.com (简书号:半为花间酒) 若公众号内转载请联系公众号:早起Python 本例可以学到的知识点: 使用 pdfplumber 提取 PDF 中 ...

  8. python多进程编程实例_[python] Python多进程编程技术实例分析

    这篇文章主要介绍了Python多进程编程技术,包括了线程.队列.同步等概念及相关的技巧总结,需要的朋友可以参考下 本文以实例形式分析了Python多进程编程技术,有助于进一步Python程序设计技巧. ...

  9. python查看excel编码格式_[Python]实现处理读写xlsx xls excel文件格式(含中文处理方法)...

    最近有个需求要处理excel 格式的数据,数据量比较大.用传统的语言似乎不太好处理,于是改用python实现,这里记录一下实现过程. 首先,科普一下xlsx xls的excel文件区别是什么. xls ...

  10. python快速爬虫视频_“python怎么快速爬虫视频“python 爬网页视频教程

    用python怎样爬网页 # coding:utf8 import cookielib import urllib2 url = "http://blog.uouo123.com" ...

最新文章

  1. liunx导出mysql慢查询日志查看_查看 MySQL 慢查询日志文件-问答-阿里云开发者社区-阿里云...
  2. python编写程序的一般步骤-Python编写win程序的操作流程
  3. RuntimeError: dictionary changed size during iteration
  4. 《智能家居》培训第六天------2019-01-10
  5. 实战| JSP Servlet Mysql学生信息管理系统
  6. 多数据点拟合曲线,最小二乘法,矩阵
  7. java计算机毕业设计大数据在线考试系统在线阅卷系统及大数据统计分析源码+mysql数据库+系统+lw文档+部署
  8. 尚硅谷SpringCloud2020简单学习记录(个人用)33-39集
  9. STM32的时钟系统的库函数编程总结,根据图和表理解程序
  10. windows xp 虚拟机卡顿问题查找
  11. threejs 模型添加文字的几种方式
  12. 机器学习-基础知识 - Precision, Recall, Sensitivity, Specificity, Accuracy, FNR, FPR, TPR, TNR, F1 Score
  13. 魔兽世界8.0哪个服务器稳定,魔兽世界活得最安逸的BOSS!8.0版本才拿到7.0服务器首杀!...
  14. python中iter_深入了解Python iter() 方法的用法
  15. 有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。(c语言)
  16. 读书印记 - 《心流:最优体验心理学》
  17. leetcode_middle_2_406. Queue Reconstruction by Height
  18. android加入聊天功能,app实现聊天功能 - houwanmin的个人空间 - OSCHINA - 中文开源技术交流社区...
  19. 问题--[__NSCFNumber length]: unrecognized selector sent to instance 0x8b3c310’ - andy_shen
  20. Paying More Attetion to Attention:Improving the Performance of Convolutional Neural Networks via AT

热门文章

  1. ICLR 2020 开源论文 | 多关系图神经网络CompGCN
  2. 直播预告 | 东南大学周张泉:基于知识图谱的推理技术
  3. 浙江大学人工智能研究所:AI+X驱动科学发现
  4. css 选择一列表菜单,css实现菜单列表随滚动条指定到对应内容
  5. java插件技术_idea 好用的java插件
  6. 【Linux部署】elasticsearch can not run elasticsearch as root+vm.max_map_count [65530] is too low 问题解决
  7. linux安全服务管理,Linux系统安全管理服务配置方法与技巧
  8. Web前端中级认证php,1+x 证书 Web 前端开发中级理论考试 (试卷 6 )
  9. Spring Boot——[java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration]解决方案
  10. Girls and Boys