通过递归的形式构成⼀个函数,将以下数据结构拆分解析如: {"A":{'name':"a",'interest':[1,2,3,4,5],'jobs':{'title':'storeshop'}}} 输出返回,列表类型返回列表项数据类型: ``` A A.name A.interest A.interest[0]Inter A.interest[1]Inter A.interest[2]Inter A.interest[3]Inter A.interest[4]Inte A.jobs A.jobs.title
时间: 2024-03-26 08:40:57 浏览: 23
数据结构之递归
好的,我来帮您解答。以下是递归函数的实现代码:
```python
def parse_dict(data, prefix=''):
if isinstance(data, dict):
for key, value in data.items():
new_prefix = f"{prefix}.{key}" if prefix else key
parse_dict(value, new_prefix)
elif isinstance(data, list):
for index, value in enumerate(data):
new_prefix = f"{prefix}[{index}]"
parse_dict(value, new_prefix)
else:
print(prefix, type(data).__name__)
```
您可以将您想要解析的数据结构传入该函数中,函数会递归地遍历所有的键值对,并输出每个键值对的路径和对应的值的数据类型。
对于您提供的数据结构,使用该函数进行解析会输出如下结果:
```
A str
A.name str
A.interest list
A.interest[0] int
A.interest[1] int
A.interest[2] int
A.interest[3] int
A.interest[4] int
A.jobs dict
A.jobs.title str
```
其中,路径以`.`作为层级分隔符,`[index]`表示列表类型的索引。输出中的`str`、`int`等为对应值的数据类型。
希望这个回答能够解决您的问题。
阅读全文