python实现多层嵌套字典创建
一、任务需求
- 根据项目需要最近需要实现一个功能:创建多层嵌套字典功能如下图
二、实现
- 话不多说直接上代码
def create_dict(key_lst, val):
key_num = len(key_lst)
final_dict = tmp_dict = {}
for index, key in enumerate(key_lst):
if index == key_num - 1:
tmp_dict[key] = val
else:
tmp_dict.setdefault(key, {})
tmp_dict = tmp_dict[key]
return final_dict
keys = ['a', 'b', 'c', 'd']
val = 'test'
final_dict = create_dict(keys, val)
print(final_dict)
## 输出如下
{'a': {'b': {'c': {'d': 'test'}}}}
- 原理简单:用到了一个临时的字典,不再赘述