我试图从路径列表中填充python dict(目的是创建一个ttk.treview公司)地址:
paths = ["\\hihi", "\\hihi\\hoho\\huhu", "\\hihi\\hoho\\haha", "\\haha", "\\huhu"]
我想创建这个dictionary(json在这里序列化):
{
"haha": {},
"hihi": {
"hoho": {
"huhu": 0
},
"huhu": {
"haha": 0
}
},
"huhu": {}
}
最好的方法是什么?我尝试了for循环(递归循环?)但我没有有效的结果。你知道吗
我的代码的双重性:
split = paths.split("\\")
del split[0]
dict = {}
?
事先非常感谢
您可以使用
defaultdict
来实现:定义如何添加路径:
然后用键填充默认dict:
可以将递归与
itertools.groupby
一起使用:输出:
我有一个递归解决方案的替代方案。对于每个路径:
代码如下:
它比@xtofl的递归版本快,但没有那么快。使用
timeit
:相关问题 更多 >
编程相关推荐