我有一个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]}]
从未被击中。不清楚为什么会这样。
答案 0 :(得分:0)
没关系,我知道我做错了。我必须返回parse()