以下是一个比较包含不同数量字典的列表的示例代码:
def compare_lists(list1, list2):
if len(list1) != len(list2):
return False
for dict1, dict2 in zip(list1, list2):
if len(dict1) != len(dict2):
return False
for key in dict1:
if key not in dict2 or dict1[key] != dict2[key]:
return False
return True
# 示例用法
list1 = [{'a': 1, 'b': 2}, {'c': 3, 'd': 4}]
list2 = [{'a': 1, 'b': 2}, {'c': 3, 'd': 4}]
print(compare_lists(list1, list2)) # 输出: True
list3 = [{'a': 1, 'b': 2}, {'c': 3, 'd': 4}]
list4 = [{'a': 1, 'b': 2}, {'c': 3, 'd': 4, 'e': 5}]
print(compare_lists(list3, list4)) # 输出: False
list5 = [{'a': 1, 'b': 2}, {'c': 3, 'd': 4}]
list6 = [{'a': 1, 'b': 2}, {'c': 5, 'd': 4}]
print(compare_lists(list5, list6)) # 输出: False
这个示例代码中的compare_lists
函数接受两个列表作为参数,并比较它们是否包含相同的字典。首先,它检查两个列表的长度是否相等。然后,它使用zip
函数将两个列表的元素一一对应地组合在一起。接下来,它遍历每个组合的元素,检查每个字典的长度是否相等,并逐个比较字典中的键和值是否相等。如果任何一对字典不相等,函数将返回False
。如果所有字典都相等,函数将返回True
。
示例中的用法展示了几种不同的情况,分别输出了True
和False
。您可以根据自己的需求修改和扩展这个示例代码。