比较两个对象返回true或者false 其中对象里面 有数组 数组里面套着对象 请写一个方法 来对比 返回
时间: 2024-02-01 18:04:01 浏览: 156
可以使用递归的方式来比较两个对象。以下是一个简单的示例代码:
```python
def compare_objects(obj1, obj2):
# 如果两个对象类型不同,直接返回False
if type(obj1) != type(obj2):
return False
# 如果两个对象类型相同且都为字典,递归比较它们的键值对
if isinstance(obj1, dict):
if len(obj1) != len(obj2):
return False
for key, value in obj1.items():
if key not in obj2:
return False
if not compare_objects(value, obj2[key]):
return False
return True
# 如果两个对象类型相同且都为列表,递归比较它们的元素
if isinstance(obj1, list):
if len(obj1) != len(obj2):
return False
for i in range(len(obj1)):
if not compare_objects(obj1[i], obj2[i]):
return False
return True
# 如果两个对象类型相同且都为基本数据类型或者字符串,直接比较它们的值
return obj1 == obj2
```
上述代码中,我们首先判断两个对象的类型是否相同,如果类型不同,直接返回False。如果两个对象类型相同且都为字典,我们递归比较它们的键值对。如果两个对象类型相同且都为列表,我们递归比较它们的元素。如果两个对象类型相同且都为基本数据类型或者字符串,直接比较它们的值。如果所有比较都成功,则返回True。
阅读全文