在Python中的嵌套字典中递归搜索键

时间:2019-03-23 03:08:17

标签: python json dictionary recursion

我有一个Python递归函数,该函数将一个简单的嵌套字典作为输入,并计算叶子的值。

说字典是这样的:

"d"

我希望任何特定节点的值都为"c",它应该返回4。如果我要求{"d": 4},它应该返回 def parse(json_dict, tokens): print(tokens) print("len(tokens) = ", len(tokens)) if len(tokens) != 0: for i, token in enumerate(tokens): if token.find('[]') == -1: print(json_dict[token], tokens[i+1:]) parse(json_dict[token], tokens[i+1:]) return json_dict

我实现了一个递归函数。

jd = { "a": {"b": {"c": {"d": 4}}}}

parse(jd, ["a", "b", "c", "d"])

如果我致电(len(tokens) == 0),它将返回4。

这里出错了,基本命中data = [{'id': 123, 'color': 'red'}, {'id': 242, 'color': 'blue'},{'id': 329, 'color': 'red'},] return [{'red': [123, 329]}, {'blue': [242]}] 从未被击中。不清楚为什么会这样。

1 个答案:

答案 0 :(得分:0)

没关系,我知道我做错了。我必须返回parse()