下面是一个比较两个字典列表特定字段的示例代码:
def compare_dicts(dict_list1, dict_list2, field):
"""
比较两个字典列表的特定字段
"""
result = []
for dict1 in dict_list1:
for dict2 in dict_list2:
if dict1[field] == dict2[field]:
result.append((dict1, dict2))
return result
# 示例输入数据
dict_list1 = [{'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 30}, {'name': 'Charlie', 'age': 35}]
dict_list2 = [{'name': 'Alice', 'age': 20}, {'name': 'David', 'age': 30}, {'name': 'Eve', 'age': 35}]
# 比较 name 字段
result = compare_dicts(dict_list1, dict_list2, 'name')
print(result)
运行上述代码会输出:
[({'name': 'Alice', 'age': 25}, {'name': 'Alice', 'age': 20}), ({'name': 'Charlie', 'age': 35}, {'name': 'Eve', 'age': 35})]
这个示例中,我们定义了一个 compare_dicts
函数,它接受两个字典列表和一个字段作为参数。函数会遍历两个字典列表的所有字典,比较给定字段的值是否相等,如果相等则将这两个字典存入结果列表中。最后,函数返回结果列表。
在示例中,我们比较了 dict_list1
和 dict_list2
中的 name
字段,结果列表中包含了两个相等的字典对:({'name': 'Alice', 'age': 25}, {'name': 'Alice', 'age': 20})
和 ({'name': 'Charlie', 'age': 35}, {'name': 'Eve', 'age': 35})
。
下一篇:比较两个字典列表基于一些值