Skip to main content
 首页 » 编程设计

python之创建多维字典

2025年05月04日20zhengyun_ustc

我尝试从一个文件创建一个 multi dict;

k = [] 
with open('directory file txt',r) as f: 
    for line in f: 
        k.append(line.strip().split('.')) 

如何创建这样的多字典:

dict=[key1][key2][key3][key4]='value' 

其中 key1 是第一行的第一个元素,key2 是第二行,依此类推

请您参考如下方法:

反转列表并嵌套结果:

result = {} 
with open('directory file txt',r) as f: 
    for line in f: 
        keys = line.strip().split('.') 
        value = keys[-1] 
        for key in reversed(keys[1:-1]): 
            value = {key: value} 
        result[keys[0]] = value 

这并不能很好地处理“更高”的重复键;如果您有重复的 key ,则需要使用稍微麻烦一些的设置(defaultdict() 不会更好地处理这种情况,我认为):

result = {} 
with open('directory file txt',r) as f: 
    for line in f: 
        keys = line.strip().split('.') 
        current = result 
        for key in keys[:-2]: 
            current = current.setdefault(key, {}) 
        current[keys[-2]] = keys[-1]