Python中可以通过使用元组索引的嵌套字典来创建平面字典。下面是一个示例代码:
def flatten_dict(nested_dict, parent_key='', sep='.'):
flattened_dict = {}
for key, value in nested_dict.items():
new_key = parent_key + sep + key if parent_key else key
if isinstance(value, dict):
flattened_dict.update(flatten_dict(value, new_key, sep=sep))
else:
flattened_dict[new_key] = value
return flattened_dict
nested_dict = {
'person': {
'name': 'John',
'age': 30,
'address': {
'street': '123 Main St',
'city': 'New York',
'state': 'NY'
}
},
'company': {
'name': 'ABC Inc',
'location': 'San Francisco'
}
}
flattened_dict = flatten_dict(nested_dict)
print(flattened_dict)
输出结果为:
{
'person.name': 'John',
'person.age': 30,
'person.address.street': '123 Main St',
'person.address.city': 'New York',
'person.address.state': 'NY',
'company.name': 'ABC Inc',
'company.location': 'San Francisco'
}
这段代码定义了一个名为flatten_dict
的函数,它接受一个嵌套字典作为输入,并返回一个平面字典。函数使用递归的方式遍历嵌套字典的所有键值对,将键名拼接为平面字典的键,值保持不变。如果值是一个字典,则递归调用flatten_dict
函数处理该字典。最后,返回完全平面化的字典。
这个方法在处理嵌套字典时非常有用,可以将复杂的嵌套结构转换为简单的键值对形式,方便后续的数据处理和分析。
推荐的腾讯云相关产品:无
参考链接:无
领取专属 10元无门槛券
手把手带您无忧上云