📅  最后修改于: 2023-12-03 15:04:03.229000             🧑  作者: Mango
在Python中,嵌套的字典是很常见的数据结构。有时我们希望反转一个嵌套字典,即将嵌套字典中的键与值互换。本文将介绍如何实现这一操作。
以下是一个简单的嵌套字典,我们将使用它来演示反转操作。
example_dict = {
"a": {
"x": 1,
"y": 2,
},
"b": {
"x": 3,
"y": 4,
}
}
可以看到,字典example_dict中有两个键值对,每个键值对都是一个字典。
要反转example_dict中的嵌套字典,我们需要使用嵌套字典的循环嵌套。以下是实现嵌套字典反转的代码。
result_dict = {}
for outer_key, outer_value in example_dict.items():
for inner_key, inner_value in outer_value.items():
if inner_key not in result_dict:
result_dict[inner_key] = {}
result_dict[inner_key][outer_key] = inner_value
代码分解:
例如,对于example_dict中的第一个键值对,我们可以看到它反转后的结果为:
{
"x": {
"a": 1,
"b": 3,
},
"y": {
"a": 2,
"b": 4,
},
}
这是我们期望的结果。下面是完整的反转函数。
def invert_nested_dict(nested_dict):
result_dict = {}
for outer_key, outer_value in nested_dict.items():
for inner_key, inner_value in outer_value.items():
if inner_key not in result_dict:
result_dict[inner_key] = {}
result_dict[inner_key][outer_key] = inner_value
return result_dict
这个函数接受一个嵌套字典作为参数,然后返回反转后的字典。
反转嵌套字典是一项有用的操作,它可以帮助我们在处理某些数据时更轻松地使用它们。上面的代码显示了如何使用Python来实现这一操作。如果您需要在Python中反转嵌套字典,请按照上面的步骤,或者使用我们提供的函数。