遍历多维对象/数组可以使用递归函数来实现。以下是一个使用递归函数遍历多维对象的示例代码:
def traverse(obj):
if isinstance(obj, dict): # 如果是字典类型
for key, value in obj.items():
print(key, ":", value)
traverse(value) # 递归遍历
elif isinstance(obj, list): # 如果是列表类型
for item in obj:
traverse(item) # 递归遍历
else:
print(obj)
# 示例对象
data = {
"name": "John",
"age": 30,
"pets": [
{
"name": "Tom",
"type": "cat"
},
{
"name": "Jerry",
"type": "mouse"
}
]
}
traverse(data)
输出结果:
name : John
age : 30
name : Tom
type : cat
name : Jerry
type : mouse
以上代码中的traverse
函数首先判断传入的对象是否是字典类型,如果是,则遍历字典的键值对,并递归调用traverse
函数处理值。如果传入的对象是列表类型,则遍历列表的每个元素,并递归调用traverse
函数处理每个元素。如果传入的对象既不是字典类型也不是列表类型,则直接打印该对象。
可以根据需要进行修改,例如可以将打印操作改为其他操作,或者添加其他判断条件。