嵌套字典操作
Nested Dictionary Manipulation
我在这个结构中有一个嵌套字典:
dictionary = {chapter: {section: {sub_section: {'a':{...}, 'b':{...}, 'c':{...}, 'd':{...}, 'e':{...}}}}}
假设章,节,sub_section是列表变量的值。
对于所有可能的组合,键值 'a,b,c,d,e' 相同。
我希望 'c' 词典包含 'c'、'd'、'e' 词典。
如何将词典转换为新词典?
new_dict = {chapter: {section: {sub_section: {'a':{...}, 'b':{...}, 'c':{ 'c':{...}, 'd':{...}, 'e'={...}}}}}}
如果可能,减少基于标签或名称的方法,更多基于索引或级别的方法是值得赞赏的。
复制整个嵌套字典。然后将c、d、e元素复制到新字典的c
元素中,删除不需要的d
和e
元素。
from copy import deepcopy
new_dict = deepcopy(dictionary)
ss = new_dict['chapter']['section']['subsection']
ss['c'] = {key: ss[key] for key in ['c', 'd', 'e']}
for key in ['d', 'e']:
del ss[key]
你说你不希望它基于标签,但我没有看到任何逻辑可以用于 select 不列出标签就可以移动的元素。
我在这个结构中有一个嵌套字典:
dictionary = {chapter: {section: {sub_section: {'a':{...}, 'b':{...}, 'c':{...}, 'd':{...}, 'e':{...}}}}}
假设章,节,sub_section是列表变量的值。
对于所有可能的组合,键值 'a,b,c,d,e' 相同。
我希望 'c' 词典包含 'c'、'd'、'e' 词典。
如何将词典转换为新词典?
new_dict = {chapter: {section: {sub_section: {'a':{...}, 'b':{...}, 'c':{ 'c':{...}, 'd':{...}, 'e'={...}}}}}}
如果可能,减少基于标签或名称的方法,更多基于索引或级别的方法是值得赞赏的。
复制整个嵌套字典。然后将c、d、e元素复制到新字典的c
元素中,删除不需要的d
和e
元素。
from copy import deepcopy
new_dict = deepcopy(dictionary)
ss = new_dict['chapter']['section']['subsection']
ss['c'] = {key: ss[key] for key in ['c', 'd', 'e']}
for key in ['d', 'e']:
del ss[key]
你说你不希望它基于标签,但我没有看到任何逻辑可以用于 select 不列出标签就可以移动的元素。