【发布时间】:2017-06-07 16:07:20
【问题描述】:
我正在尝试从 python 字典中过滤掉一些值。根据此处看到的答案:Filter dict to contain only certain keys。我正在做类似的事情:
new = {k:data[k] for k in FIELDS if k in data}
基本上创建new 字典并只关心FIELDS 数组中列出的键。我的数组看起来像:
FIELDS = ["timestamp", "unqiueID",etc...]
但是,如果键是嵌套的,我该怎么做? IE。 ['user']['color']?
如何向该数组添加嵌套键?我试过了:
[user][color]、['user']['color']、'user]['color,它们都不对 :) 我需要的许多值都是嵌套字段。我怎样才能在这个数组中添加一个嵌套键并且仍然有 new = {k:data[k] for k in FIELDS if k in data} 位工作?
【问题讨论】:
-
它们都具有相同的“深度”吗?
-
没有,有些只有 1 深,有些只有 2 或 3 深。 @WillemVanOnsem
-
从扁平化字典和压缩键 stackoverflow.com/questions/6027558/… 开始。然后,选择包含任何
FIELDS标签的键。
标签: python arrays dictionary filter