我想从一个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