Python 如何将URI转换为字典
将URI转换为字典 如何将URI(如“aaa/bbb/ccc”)转换为嵌套字典(如Python 如何将URI转换为字典,python,python-3.x,dictionary,Python,Python 3.x,Dictionary,将URI转换为字典 如何将URI(如“aaa/bbb/ccc”)转换为嵌套字典(如 { 'aaa': { 'bbb': { 'ccc': { } } } 一种使用递归的解决方案: s = 'aaa/bbb/ccc' def get_dict(s): s = s.split('/', maxsplit=1) if len(s) == 1: return {s[0]:{}} return {s[:1][0]:
{
'aaa': {
'bbb': {
'ccc': {
}
}
}
一种使用递归的解决方案:
s = 'aaa/bbb/ccc'
def get_dict(s):
s = s.split('/', maxsplit=1)
if len(s) == 1:
return {s[0]:{}}
return {s[:1][0]: get_dict(s[1:][0])}
print(get_dict(s))
印刷品:
{'aaa': {'bbb': {'ccc': {}}}}
{
"aaa": {
"bbb": {
"ccc": {}
}
}
}
{'aaa': {'bbb': {'ccc': {}}}}
编辑(使用json
漂亮地打印):
印刷品:
{'aaa': {'bbb': {'ccc': {}}}}
{
"aaa": {
"bbb": {
"ccc": {}
}
}
}
{'aaa': {'bbb': {'ccc': {}}}}
不需要递归。在遍历URI路径时,可以使用节点引用指向输出dict的当前叶:
node = output = {}
for path in uri.split('/'):
node[path] = node = {}
给定uri='aaa/bbb/ccc'
,输出将变成: