以下是一个示例代码,用于比较两个记录,并将差异作为文本输出:
def compare_records(record1, record2):
differences = []
# 比较两个记录的每个键值对
for key in record1:
if key in record2:
if record1[key] != record2[key]:
difference = f"{key}: {record1[key]} -> {record2[key]}"
differences.append(difference)
else:
difference = f"{key}: {record1[key]} -> "
differences.append(difference)
# 检查record2是否有record1没有的键
for key in record2:
if key not in record1:
difference = f"{key}: -> {record2[key]}"
differences.append(difference)
return differences
# 示例用法
record1 = {"name": "John", "age": 25, "city": "New York"}
record2 = {"name": "John", "age": 30, "city": "Los Angeles"}
differences = compare_records(record1, record2)
if differences:
print("记录之间存在差异:")
for difference in differences:
print(difference)
else:
print("记录相同")
这个示例代码将比较两个记录的键值对,并将差异以文本的形式输出。比较的逻辑是首先比较两个记录中共有的键,如果键值不同,则将差异记录下来。然后检查record2是否有record1没有的键,并将差异记录下来。输出的差异信息包括键、旧值和新值。如果两个记录完全相同,则输出"记录相同"。
注意:这个示例代码假设两个记录的键是一样的,如果键不一样的话,需要根据具体情况进行调整。