我在這個結構中有一個嵌套字典:
dictionary = {chapter: {section: {sub_section: {'a':{...}, 'b':{...}, 'c':{...}, 'd':{...}, 'e':{...}}}}}
假設 chapter、section、sub_section 是串列變數的值。
對于每個可能的組合,鍵值 'a,b,c,d,e' 都是相同的。
我希望 'c' 字典包含 'c'、'd'、'e' 字典。
如何將字典轉換為新字典?
new_dict = {chapter: {section: {sub_section: {'a':{...}, 'b':{...}, 'c':{ 'c':{...}, 'd':{...}, 'e'={...}}}}}}
如果可能的話,基于更少的標簽或名稱,更多的基于索引或級別的方法是值得贊賞的。
uj5u.com熱心網友回復:
制作整個嵌套字典的副本。然后將 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]
您說您不希望這是基于標簽的,但我看不到任何可用于選擇要移動的元素而無需列出標簽的邏輯。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/469282.html
上一篇:從對生成嵌套字典