我尝试从一个文件创建一个 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]
