我想從一個python字典中過濾出一些值。基於這裏看到的答案:Filter dict to contain only certain keys。我做的是這樣的:使用嵌套鍵數組篩選出Python字典值
new = {k:data[k] for k in FIELDS if k in data}
基本上創建new
字典和只關心FIELDS
陣列中列出的按鍵。我的陣列看起來像:
FIELDS = ["timestamp", "unqiueID",etc...]
但是,如果密鑰嵌套,我該如何做到這一點? I.E. ['user']['color']
?
如何向此數組添加嵌套密鑰?我試過了: [user][color]
,['user']['color']
,'user]['color
,它們都不是正確的:)我需要的許多值都是嵌套字段。我怎麼能添加一個嵌套的密鑰到這個數組,並仍然有new = {k:data[k] for k in FIELDS if k in data}
位工作?
難道他們都具有相同的 「深度」? –
沒有一些只有一個深,另外兩個或三個深。 @WillemVanOnsem – HectorOfTroy407
從扁平你的字典開始並壓縮鍵http://stackoverflow.com/questions/6027558/flatten-nested-python-dictionaries-compressingkeys。然後,選擇_contain_任何「FIELDS」標籤的鍵。 – DyZ