新旧对象中包含数组类型数据,如何对比新旧对象判断如果键值相同则把旧对象的值赋值给新对象
时间: 2023-07-25 15:43:01 浏览: 89
如果你想要遍历对象中的数组类型数据,并且判断新旧对象中相同键值的数组是否相同,如果相同则将旧对象的值赋值给新对象,可以使用以下代码:
```python
old_obj = {"a": [1, 2, 3], "b": [4, 5, 6]}
new_obj = {"a": [1, 2, 3], "b": [7, 8, 9]}
for key in new_obj.keys():
if key in old_obj and new_obj[key] == old_obj[key]:
new_obj[key] = old_obj[key]
```
首先,我们遍历新对象的键值,如果该键值也在旧对象中,则比较旧对象和新对象的该键值对应的数组是否相等,如果相等则将旧对象的该键值的数组赋值给新对象。在上面的例子中,键"a"的数组相同,因此不会被赋值;键"b"的数组不同,因此会被赋值为旧对象的数组[4, 5, 6]。
阅读全文