Python3比较两个包含字典元素的列表

3
我想从两个不同的列表中过滤出相同的字典元素,示例如下:
a = [{'name':'Cheng','sex':'man','age':18},{'name':'Huang','sex':'man','age':19},{'name':'pan','sex':'woman','age':23},{'name':'Ying','sex':'woman','age':21}...]

b = [{'name':'Cheng','sex':'man','age':19},{'name':'pan','sex':'woman','age':23},{'name':'Huang','sex':'woman','age':20},{'name':'Ying','sex':'man','age':23}...]

列表a和b都有许多字典元素。

我希望找到一种高效的方法来比较字典元素中相同键的不同值,预期结果应该如下:

[{'name':'pan','sex':'woman','age':23}...]

相同的字典元素将被显示。
1个回答

1
你只需要遍历其中一个列表,检查第一个列表的元素是否在第二个列表中即可。
print([item for item in a if item in b])

输出将会是:
[{'name': 'pan', 'sex': 'woman', 'age': 23}]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接