python 遍历嵌套字典
时间: 2023-02-23 21:51:11 浏览: 62
遍历嵌套字典的方法有多种,下面是一种通用的方法:
```
def print_nested_dict(d, indent=0):
for key, value in d.items():
print(' ' * indent + str(key))
if isinstance(value, dict):
print_nested_dict(value, indent + 2)
else:
print(' ' * (indent + 2) + str(value))
nested_dict = {
'dict1': {
'a': 1,
'b': 2,
'c': {
'x': 3,
'y': 4,
'z': 5
}
},
'dict2': {
'd': 6,
'e': 7,
'f': 8
}
}
print_nested_dict(nested_dict)
```
这个函数递归地遍历字典,如果当前值是字典,则继续递归,否则输出当前值。
相关问题
python遍历嵌套字典
可以使用递归函数来遍历嵌套字典,示例代码如下:
```python
def print_dict(d, indent=0):
for key, value in d.items():
print(' ' * indent + str(key))
if isinstance(value, dict):
print_dict(value, indent + 4)
else:
print(' ' * (indent + 4) + str(value))
```
其中,`d` 表示要遍历的字典,`indent` 表示缩进的空格数。函数首先遍历字典的键值对,如果值为字典,则递归调用函数,缩进空格数加 4;否则,输出键值对的值,再加 4 个空格缩进。
python遍历多层嵌套字典
要遍历多层嵌套字典可以使用递归的方法。可以编写一个递归函数来实现这个功能。函数首先检查字典中的每个值,如果该值是字典类型,则递归调用该函数进行进一步遍历,直到遍历到最底层的值。以下是一个示例代码:
```
def traverse_dict(d):
for key, value in d.items():
if isinstance(value, dict):
traverse_dict(value)
else:
print(value)
```
你可以调用这个函数来遍历多层嵌套字典。这个函数会打印出字典中的所有值。如果你想将所有的值存储在一个列表中,你可以稍微修改一下函数:
```
def traverse_dict(d, result=[]):
for key, value in d.items():
if isinstance(value, dict):
traverse_dict(value, result)
else:
result.append(value)
return result
```
这个函数会返回一个包含所有值的列表。你可以通过以下方式来调用它:
```
my_dict = {
'key1': 'value1',
'key2': {
'key3': 'value3',
'key4': {
'key5': 'value5'
}
}
}
result = traverse_dict(my_dict)
print(result)
```
输出结果会是`['value1', 'value3', 'value5']`。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)