我正在寻找一种从多级字典中的可变深度获取值的方法。我有一个要在多级字典中查看的键列表。这个键和值将被放入一个新的字典中。
needed_keys = ["a1", "b1", "c1", "d1", "e1"]
original_dict = {"x" : {"xa1" : 5, "xaa" : True, "xaaa" : {"xaaab1" : True, "xaaabb" : False}}, "y" : {"yz" : 6.0, "yc1" : 7.0, "yf" : {"yfd1" : "a string"}}}
final_result = {"a1" : 5, "b1" :True, "c1" : 7.0, "d1" : "a string", "e1" : None}
所以基本上是这样的:
- 获取要查看的键名
- 遍历字典,检查是否
dict_key.endswith(key_name)
- 如果找到,则从 中分配值
original_dict
;设置为None
否则 - 从 1 重复直到列表的末尾
这可以通过更少的遍历来实现original_dict
吗?这是可选的,因为速度在这里不是问题。我完全迷失在这里,代码不那么混乱。