由于两个list各包含了多个dict 假设:

list_before = [dict1{},dict2{}]

list_now = [dict3{},dict4{}]

那么存在可能

dict1['UserName'] != dict3['UserName'] &&

dict1['UserName'] == dict4['UserName']

假设这中情况也认为是包含相同元素的话,那么可以采用:

dict{key:set(value)}的结构 利用set()的特点来找出 before有 && now没有 的集合 :

# coding: UTF-8

before=[{u'UserName':u'@b53413e822cf67a219ab7181b074ccf5', u'RemarkPYQuanPin':u'', u'DisplayName': u'', u'KeyWord': u'iss', u'PYInitial': u'', u'Uin': 12266535, u'MemberStatus': 0, u'PYQuanPin': u'', u'RemarkPYInitial': u'', u'NickName': u'\u4e00\u4e8c\u4e09', u'AttrStatus': 2181050407L}, {u'UserName': u'@4babcdd9789c909048a51a069eb37b635f4f79bc5dfc2b5ae6e7325e16848e2b', u'RemarkPYQuanPin': u'', u'DisplayName': u'\u6696\u6696\u7684o', u'KeyWord': u'', u'PYInitial': u'', u'Uin': 1589615073, u'MemberStatus': 0, u'PYQuanPin': u'', u'RemarkPYInitial': u'', u'NickName': u'\u6696\u6696\u7684', u'AttrStatus': 4133}, {u'UserName': u'@1f6ddf50c372ba088a9b8f61670a8cfa5873ede35810a60b4076486eac6c20e2', u'RemarkPYQuanPin': u'', u'DisplayName': u'', u'KeyWord': u'', u'PYInitial': u'', u'Uin': 2720082935L, u'MemberStatus': 0, u'PYQuanPin': u'', u'RemarkPYInitial': u'', u'NickName': u'\u5929\u5929\u60e0\uff5e\u6dd8\u5b9d\u7f51\u5185\u90e8\u6298\u6263', u'AttrStatus': 102469}, {u'UserName': u'@f0142b2f34421927607e46c7c5894fcdb46bdaa173b354ef0d93c7950a3016ac', u'RemarkPYQuanPin': u'', u'DisplayName': u'', u'KeyWord': u'', u'PYInitial': u'', u'Uin': 3048262847L, u'MemberStatus': 0, u'PYQuanPin': u'', u'RemarkPYInitial': u'', u'NickName': u'\u6298\u6263\u53d1\u5e03\u5458Summer', u'AttrStatus': 102469}, {u'UserName': u'@15b51f37927a241f2e0f537c8b446280bdfacd73a8adeacf6db2db096c837a0b', u'RemarkPYQuanPin': u'', u'DisplayName': u'', u'KeyWord': u'', u'PYInitial': u'', u'Uin': 3379331828L, u'MemberStatus': 0, u'PYQuanPin': u'', u'RemarkPYInitial': u'', u'NickName': u'\u7075\u7075\u516b', u'AttrStatus': 4133}]

now=[{u'UserName': u'@9233910c70034bc94ccd683157f5760f600f2bd25ac70c4bb66fd501caca8a8e', u'RemarkPYQuanPin': u'', u'DisplayName': u'\u6696\u6696\u7684o', u'KeyWord': u'', u'PYInitial': u'', u'Uin': 1589615073, u'RemarkPYInitial': u'', u'PYQuanPin': u'', u'MemberStatus': 0, u'NickName': u'\u6696\u6696\u7684', u'AttrStatus': 16781349}, {u'UserName': u'@d5131e8ac7df644c522c9293914b70fe5ebee374f0d42c58157b516a567a7dae', u'RemarkPYQuanPin': u'', u'DisplayName': u'', u'KeyWord': u'', u'PYInitial': u'', u'Uin': 2720082935L, u'RemarkPYInitial': u'', u'PYQuanPin': u'', u'MemberStatus': 0, u'NickName': u'\u5929\u5929\u60e0\uff5e\u6dd8\u5b9d\u7f51\u5185\u90e8\u6298\u6263', u'AttrStatus': 2147586117L}, {u'UserName': u'@bd7fc47cfb0c9a3f85505c3794d2945ae46edf28c4e68613993f1aaac480b92a', u'RemarkPYQuanPin': u'', u'DisplayName': u'', u'KeyWord': u'', u'PYInitial': u'', u'Uin': 3048262847L, u'RemarkPYInitial': u'', u'PYQuanPin': u'', u'MemberStatus': 0, u'NickName': u'\u6298\u6263\u53d1\u5e03\u5458Summer', u'AttrStatus': 102469}]

re=dict()

for d in before: # add values to each set() from dicts in list_before

if isinstance(d, dict):

for k in d.keys():

if k not in re.keys():

re[k]=set()

re[k].add(d[k])

for d in now: # remove values that in list_now's dicts

if isinstance(d, dict):

for k in d.keys():

if d[k] in re[k]:

#print d[k]

re[k].remove(d[k])

#if len(re[k])>1:

# re[k].remove(d[k])

for item in re.keys():

if re[item]==set([]): # delete keys whose value is set(u'')

print item

del re[item]

print re

---------------older----------------------

你的list中包含的是dict类型,百度的操作是set类型。所以你先要调整格式。

可以通过dict.values()来读取字典中各个key的value,然后再用set的diff操作。

要求每个字典中的各个key的value不会重复,不然set会去重。

eg:

before={'a':1,'b':2}

now={'a':1,'b':3}

lostlist=list(set(before.values()).difference(set(now.values())))

print lostlist

python 字典组成的列表 差集_python 中 如何 获取两个 字典组成的列表的差集?相关推荐

  1. python字典合并_Python中如何实现两个字典合并

    更多 Python中将两个字典进行合并操作,是一个比较常见的问题.本文将介绍几种实现两个字典合并的方案,并对其进行比较. 对于这个问题,比较直观的想法是将两个字典做相加操作,赋值给结果字典,其代码为: ...

  2. Python基础_第5章_Python中的数据序列

    Python基础_第5章_Python中的数据序列 文章目录 Python基础_第5章_Python中的数据序列 Python中的数据序列 一.字典--Python中的==查询==神器 1.为什么需要 ...

  3. Python基础_第3章_Python中的循环结构

    Python基础_第3章_Python中的循环结构 文章目录 Python基础_第3章_Python中的循环结构 Python中的循环结构 一.回顾分支练习题 1.判断是否为一个合法三角形 2.求世界 ...

  4. 微信公众号中 JavaScript 获取用户周边的标志性建筑列表

    微信公众号中 JavaScript 获取用户周边的标志性建筑列表 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致& ...

  5. java 集合,实现获取两个list交集,并集,差集

    java 集合,实现获取两个list交集,并集,差集 public static void main(String[] args) {List<String> list1 = new Ar ...

  6. python中字典列表元组_Python中的列表和元组

    python中字典列表元组 Lists and tuples are arguably Python's most versatile, useful data types. You will fin ...

  7. python 映射表结构_Python 中常见的数据结构:字典、映射和散列表

    在 Python 中,字典是核心数据结构.字典可以存储任意数量的对象,每个对象都由唯一的字典键标识. 字典通常也被称为映射.散列表.查找表或关联数组.字典能够高效查找.插入和删除任何与给定键关联的对象 ...

  8. python中不能使用下标运算的有哪些_Python中最常见的10个问题(列表)

    列表是Python中使用最多的一种数据结果,如何高效操作列表是提高代码运行效率的关键,这篇文章列出了10个常用的列表操作,希望对你有帮助. 注意:很多人学Python过程中会遇到各种烦恼问题,没有人帮 ...

  9. python字典是什么的集合_Python中的字典和集合

    文章目录字典1.介绍 2.创建字典 3.字典内元素的访问 4.字典元素的添加.修改.删除 5.关于字典的其它操作 6.字典存储底层原理 集合1.介绍 2.相关操作 3.集合元素的添加 4.移除元素 字 ...

最新文章

  1. 福布斯发布2019全球品牌价值100强:华为上榜苹果夺冠
  2. Java 中日期的几种常见操作 —— 取值、转换、加减、比较
  3. 百度和吉利合作造车,数据揭秘百度造车、拆股背后逻辑
  4. Elasticsearch java api 基本搜索部分详解
  5. php计算上个月是几月份
  6. 使用Popup窗口创建无限级Web页菜单(5)
  7. [记录] ---阿里云java.io.IOException: Connection reset by peer的问题
  8. JDBC学习(八、获取自动生成的主键和大数据类型操作)
  9. Win10安装mysql 8.0.22
  10. Visio应用视频教程(上)-游峰-专题视频课程
  11. c语言解决约瑟夫问题,C语言解决约瑟夫问题详解的代码
  12. 主成分分析法Principal component analysis (PCA)介绍
  13. 【HTML】HTML网页设计-----游戏网页设计
  14. Unity设置和显示FPS
  15. Boot(重点SCSS☆☆☆☆☆)(day03)
  16. LTE下行用户特定参考信号
  17. 深入浅出Pairwise 算法
  18. VSCode中配置Rust时报错:error: linking with `x86_64-w64-mingw32-gcc` failed: exit code: 1
  19. javascript 获取网页地址(url)
  20. 网络编程Socket基础

热门文章

  1. 结构体:struct关键字
  2. python 将列表值赋予函数_python把空列表作为函数默认参数,可是有坑的
  3. 【计算机组成原理】CPU:单周期数据通路(MIPS)
  4. 单一工作流的执行➕回滚框架初步想法(基于事件驱动模式)
  5. 自定义控件(视图)2期笔记03:自定义控件之使用系统控件(优酷案例之广告条Viewpager)...
  6. endnote导致word 2007很慢
  7. vscode 配置import @ 路径提示及代码智提
  8. (转)Bootstrap 之 Metronic 模板的学习之路 - (6)自定义和扩展
  9. html中select只读显示
  10. c3p0-0.9.1.2.jar