我尝试从文件创建一个多字典;
k = []
with open('directory file txt',r) as f:
for line in f:
k.append(line.strip().split('.'))
Run Code Online (Sandbox Code Playgroud)
如何创建这样的多字典:
dict=[key1][key2][key3][key4]='value'
Run Code Online (Sandbox Code Playgroud)
哪一个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
Run Code Online (Sandbox Code Playgroud)
这并不能解决那些重复"更高"的密钥; 如果你有重复的键,你需要使用稍微麻烦的设置(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]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
430 次 |
| 最近记录: |