我想创建一个函数,通过查看它们的键来比较python中的两个字典列表。当列表A包含一个字典,该字典的条目与列表B中的字典中的条目具有相同的键时,该函数应返回True。
以下是列表A和B的示例:
followers
在此示例中,函数应返回True,因为key1是匹配的。
提前致谢。
答案 0 :(得分:2)
首先你必须从字典列表中取出密钥,然后进行比较。
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)
答案 1 :(得分:0)
这是你在找什么?
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
>>>