面试题答案
一键面试import collections.abc
def compare_lists(list1, list2):
if type(list1) != type(list2):
return True
if isinstance(list1, list):
if len(list1) != len(list2):
return True
for a, b in zip(list1, list2):
if compare_lists(a, b):
return True
return False
elif isinstance(list1, dict):
if set(list1.keys()) != set(list2.keys()):
return True
for key in list1.keys():
if compare_lists(list1[key], list2[key]):
return True
return False
else:
return list1 != list2
你可以使用以下方式调用这个函数:
list1 = [1, 2, {'sub_key':'sub_value'}]
list2 = [1, 2, {'sub_key': 'different_value'}]
print(compare_lists(list1, list2))