python - 从python中的点(。)分隔的键创建嵌套字典
问题描述
我有一个要求,我有一个由 dot(.) 组合的字符串格式的键以及与该键字符串关联的值,并且我想创建一个字典。
key1 = "A.B.C.D"
text_to_be_inserted1_for_key1 = "Test1"
key2 = "A.B.C.E"
text_to_be_inserted_for_key2 = "Test2"
预期结果
dict = {
"A": {
"B" : {
"C" : {
"D" : text_to_be_inserted1_for_key1,
"E" : text_to_be_inserted_for_key2
}
}
}
}
解决方案
from collections import defaultdict
def deep_dict():
return defaultdict(deep_dict)
result = deep_dict()
def deep_insert(key, value):
d = result
keys = key.split(".")
for subkey in keys[:-1]:
d = d[subkey]
d[keys[-1]] = value
deep_insert("A.B.C.D", "Test1")
deep_insert("A.B.C.E", "Test2")
import json
print(json.dumps(result, indent=4))
推荐阅读
- reactjs - 通过 Express 服务器在 React 中显示来自 MongoDB 的二进制图像
- variables - Erlang 变量管理
- javascript - 将 UTM 值从 URL 推送到隐藏字段的脚本 (Webflow)
- neo4j - Neo4j 匹配来自先前查询的可变关系数
- python - python中的所有for循环都可以转换为列表理解等价物吗?
- ios - 如何在 ios swift 中验证某个用户的电子邮件地址?
- python - 如何使用 Python 从文件创建字典?
- python - 沿 ndarray 轴的具有多个参数的函数的有效映射
- python - 如何将列表分配给 Qstandarditem Python
- java - 改变java应用程序的体积