我想做一个函数,通过查看它们的键来比较python中的两个字典列表。如果列表A包含的字典的条目与列表B中的字典中的条目具有相同的关键字,则函数应返回True。
下面是列表A和B的示例:
listA = [{'key1':'value1'}, {'key2':'value2'}]
listB = [{'key1':'value3'}, {'key3':'value4'}]在本例中,该函数应返回True,因为key1是匹配的。
提前谢谢。
发布于 2016-09-17 00:08:06
首先,您必须从字典列表中取出关键字,然后进行比较。
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)发布于 2016-09-17 00:20:03
这就是你要找的东西吗?
def cmp_dict(a, b):
return any(frozenset(c) & frozenset(d) for c, d in zip(a, b))下面是它的用法演示:
>>> listA = [{'key1':'value1'}, {'key2':'value2'}]
>>> listB = [{'key1':'value3'}, {'key3':'value4'}]
>>> cmp_dict(listA, listB)
True
>>> https://stackoverflow.com/questions/39535712
复制相似问题