首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >比较Python中的两个字典列表

问比较Python中的两个字典列表
EN

Stack Overflow用户
提问于 2016-09-16 23:58:50
回答 2查看 465关注 0票数 0

我想做一个函数,通过查看它们的键来比较python中的两个字典列表。如果列表A包含的字典的条目与列表B中的字典中的条目具有相同的关键字,则函数应返回True。

下面是列表A和B的示例:

代码语言:javascript
复制
listA = [{'key1':'value1'}, {'key2':'value2'}]
listB = [{'key1':'value3'}, {'key3':'value4'}]

在本例中,该函数应返回True,因为key1是匹配的。

提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-17 00:08:06

首先,您必须从字典列表中取出关键字,然后进行比较。

代码语言:javascript
复制
keysA = [k for x in listA for k in x.keys()]
keysB = [k for x in listB for k in x.keys()]

any(k in keysB for k in keysA)
票数 2
EN

Stack Overflow用户

发布于 2016-09-17 00:20:03

这就是你要找的东西吗?

代码语言:javascript
复制
def cmp_dict(a, b):
    return any(frozenset(c) & frozenset(d) for c, d in zip(a, b))

下面是它的用法演示:

代码语言:javascript
复制
>>> listA = [{'key1':'value1'}, {'key2':'value2'}]
>>> listB = [{'key1':'value3'}, {'key3':'value4'}]
>>> cmp_dict(listA, listB)
True
>>> 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39535712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档