以下是一个示例代码,演示如何比较包含对象的两个数组,包括其他对象和数组。
def compare_arrays(array1, array2):
# 对两个数组进行浅层比较
if len(array1) != len(array2):
return False
for i in range(len(array1)):
# 比较数组中的对象
if type(array1[i]) != type(array2[i]):
return False
# 比较数组中的数组
if isinstance(array1[i], list) and isinstance(array2[i], list):
if not compare_arrays(array1[i], array2[i]):
return False
# 比较其他对象
if array1[i] != array2[i]:
return False
return True
# 创建两个包含对象的数组
array1 = [1, "hello", [2, 3], {"name": "John"}]
array2 = [1, "hello", [2, 3], {"name": "John"}]
# 比较两个数组
result = compare_arrays(array1, array2)
print(result) # 输出 True
在上面的示例中,我们使用了递归的方法来比较数组中的对象。首先,我们比较两个数组的长度,如果不相等,则返回 False。然后,我们遍历数组中的每个元素,比较它们的类型和值。如果遇到数组,我们通过递归调用 compare_arrays
函数来比较这两个数组。如果遇到其他类型的对象,我们直接比较它们的值。如果有任何一个比较不相等,我们就返回 False。如果所有的比较都相等,我们就返回 True。
在上面的示例中,我们比较了两个相同的数组,所以最终的结果是 True。你可以尝试修改其中一个数组的元素,然后再次运行代码,看看输出的结果是否为 False。