flatten_dict_items()函数的使用方法与示例解析
发布时间:2023-12-27 12:39:31
flatten_dict_items()函数用于将嵌套的字典展开为一维字典,并返回展开后的字典项。下面是关于该函数的使用方法和示例。
使用方法:
flatten_dict_items(dict_obj, separator='_')
参数说明:
- dict_obj:需要展开的嵌套字典对象。
- separator:可选参数,用于指定展开后的键名之间的分隔符,默认为下划线(_)。
返回值:
展开后的字典项列表,每个字典项由键名和对应的值组成。
示例代码:
def flatten_dict_items(dict_obj, separator='_'):
items = []
for key, value in dict_obj.items():
if isinstance(value, dict):
for k, v in flatten_dict_items(value, separator):
items.append((f"{key}{separator}{k}", v))
else:
items.append((key, value))
return items
# 定义一个嵌套字典
nested_dict = {
'a': 1,
'b': 2,
'c': {
'd': 3,
'e': {
'f': 4,
'g': 5
}
}
}
# 调用flatten_dict_items()函数展开字典
flattened_dict = dict(flatten_dict_items(nested_dict))
# 输出展开后的字典项
for key, value in flattened_dict.items():
print(f"{key}: {value}")
输出结果:
a: 1 b: 2 c_d: 3 c_e_f: 4 c_e_g: 5
在示例代码中,首先定义了一个嵌套字典nested_dict。然后调用flatten_dict_items()函数展开该字典,并用dict()函数将展开的字典项转换为新的字典flattened_dict。
最后,通过遍历展开后的字典flattened_dict,打印每个键值对的键名和值。
在输出结果中可以看到,字典项已经被展开为一维字典,嵌套的键名之间使用下划线进行连接。
