我想创建一个三层字典。所有键和值都是字符串,只有它们在字典中的存在才重要(我想删除重复,顺序并不重要)。 这就是我写的函数:
def UpdateDic3(key1,key2,key3,val,dic):
if not key1 in dic.keys():
dic[key1][key2][key3] = {val}
elif not key2 in dic[key1].keys():
dic[key1][key2][key3] = {val}
elif not key3 in dic[key1][key2].keys():
dic[key1][key2][key3] = {val}
else:
dic[key1][key2][key3].add(val)
return dic
并搜索多层字典,我发现了这个:
l=lambda:defaultdict(l)
src_tree =l()
src_tree = UpdateDic3(k1,k2,k3,value,src_tree)
难道没有比 l=lambda:defaultdict(l)
更好的方法来制作 3 层字典吗?
我需要一个树结构,可以访问每一层的键。
最佳答案
只需使用一个充满元组的集合。
src_tree = set()
str_tree.add((k1, k2, k3))
关于Python创建多层动态字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26363124/