假设我们有两个列表,list1和list2。它们都包含字典对象,每个字典都有一个字段'name'。
要比较这两个列表中'name'字段的公共值,我们可以使用Python的set交集操作符&。在这个过程中,我们需要将'name'字段的值收集到一个新的set中,然后使用交集运算符获取公共值。
示例代码:
list1 = [
{'name': 'John', 'age': 25},
{'name': 'Mary', 'age': 32},
{'name': 'Sarah', 'age': 27}
]
list2 = [
{'name': 'John', 'score': 70},
{'name': 'Mary', 'score': 90},
{'name': 'Mike', 'score': 80}
]
# 收集list1中所有'name'字段的值
set1 = set(d['name'] for d in list1)
# 收集list2中所有'name'字段的值
set2 = set(d['name'] for d in list2)
# 找到set1和set2中的公共值
common_names = set1 & set2
print(common_names) # 输出 {'John', 'Mary'}
在这个示例中,我们使用列表解析语法在两个列表中收集了所有'name'字段的值,然后使用交集运算符&找到了公共值。最后,我们将这个公共值打印出来。