python 字典组成的列表 差集_python 中 如何 获取两个 字典组成的列表的差集?
由于两个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 中 如何 获取两个 字典组成的列表的差集?相关推荐
- python字典合并_Python中如何实现两个字典合并
更多 Python中将两个字典进行合并操作,是一个比较常见的问题.本文将介绍几种实现两个字典合并的方案,并对其进行比较. 对于这个问题,比较直观的想法是将两个字典做相加操作,赋值给结果字典,其代码为: ...
- Python基础_第5章_Python中的数据序列
Python基础_第5章_Python中的数据序列 文章目录 Python基础_第5章_Python中的数据序列 Python中的数据序列 一.字典--Python中的==查询==神器 1.为什么需要 ...
- Python基础_第3章_Python中的循环结构
Python基础_第3章_Python中的循环结构 文章目录 Python基础_第3章_Python中的循环结构 Python中的循环结构 一.回顾分支练习题 1.判断是否为一个合法三角形 2.求世界 ...
- 微信公众号中 JavaScript 获取用户周边的标志性建筑列表
微信公众号中 JavaScript 获取用户周边的标志性建筑列表 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致& ...
- java 集合,实现获取两个list交集,并集,差集
java 集合,实现获取两个list交集,并集,差集 public static void main(String[] args) {List<String> list1 = new Ar ...
- python中字典列表元组_Python中的列表和元组
python中字典列表元组 Lists and tuples are arguably Python's most versatile, useful data types. You will fin ...
- python 映射表结构_Python 中常见的数据结构:字典、映射和散列表
在 Python 中,字典是核心数据结构.字典可以存储任意数量的对象,每个对象都由唯一的字典键标识. 字典通常也被称为映射.散列表.查找表或关联数组.字典能够高效查找.插入和删除任何与给定键关联的对象 ...
- python中不能使用下标运算的有哪些_Python中最常见的10个问题(列表)
列表是Python中使用最多的一种数据结果,如何高效操作列表是提高代码运行效率的关键,这篇文章列出了10个常用的列表操作,希望对你有帮助. 注意:很多人学Python过程中会遇到各种烦恼问题,没有人帮 ...
- python字典是什么的集合_Python中的字典和集合
文章目录字典1.介绍 2.创建字典 3.字典内元素的访问 4.字典元素的添加.修改.删除 5.关于字典的其它操作 6.字典存储底层原理 集合1.介绍 2.相关操作 3.集合元素的添加 4.移除元素 字 ...
最新文章
- 福布斯发布2019全球品牌价值100强:华为上榜苹果夺冠
- Java 中日期的几种常见操作 —— 取值、转换、加减、比较
- 百度和吉利合作造车,数据揭秘百度造车、拆股背后逻辑
- Elasticsearch java api 基本搜索部分详解
- php计算上个月是几月份
- 使用Popup窗口创建无限级Web页菜单(5)
- [记录] ---阿里云java.io.IOException: Connection reset by peer的问题
- JDBC学习(八、获取自动生成的主键和大数据类型操作)
- Win10安装mysql 8.0.22
- Visio应用视频教程(上)-游峰-专题视频课程
- c语言解决约瑟夫问题,C语言解决约瑟夫问题详解的代码
- 主成分分析法Principal component analysis (PCA)介绍
- 【HTML】HTML网页设计-----游戏网页设计
- Unity设置和显示FPS
- Boot(重点SCSS☆☆☆☆☆)(day03)
- LTE下行用户特定参考信号
- 深入浅出Pairwise 算法
- VSCode中配置Rust时报错:error: linking with `x86_64-w64-mingw32-gcc` failed: exit code: 1
- javascript 获取网页地址(url)
- 网络编程Socket基础
热门文章
- 结构体:struct关键字
- python 将列表值赋予函数_python把空列表作为函数默认参数,可是有坑的
- 【计算机组成原理】CPU:单周期数据通路(MIPS)
- 单一工作流的执行➕回滚框架初步想法(基于事件驱动模式)
- 自定义控件(视图)2期笔记03:自定义控件之使用系统控件(优酷案例之广告条Viewpager)...
- endnote导致word 2007很慢
- vscode 配置import @ 路径提示及代码智提
- (转)Bootstrap 之 Metronic 模板的学习之路 - (6)自定义和扩展
- html中select只读显示
- c3p0-0.9.1.2.jar