gpt4 book ai didi

python - 为什么我的递归函数返回 "None"?

转载 作者:行者123 更新时间:2023-11-28 20:48:16 24 4
gpt4 key购买 nike

<分区>

全部,

我有一个 Python 字典列表字典。这代表了父子关系。给子,愿还父。

这是我的收藏:

tree = { u'one' : [ { u'two' : [ { u'three' : [] }, { u'four' : [] } ] }, { u'five' : [ { u'six' : [] } ] } ] }

如您所见,“一”有 child “二”和“五”,“二”有 child “三”和“四”,“三”没有 child ,依此类推。

以下代码正确计算出给定子项的父项:

def find_parent(search_term,collection,parent=None):
if isinstance(collection,dict):
for key,value in collection.iteritems():
if key.lower() == search_term.lower():
print "the parent of %s is %s" % (key,parent)
return parent
if isinstance(value,list):
for v in value:
find_parent(search_term,v,key)

my_child = "two"
my_parent = find_parent(my_child,tree)

该函数中的打印语句总是打印出正确的值。但是如果我尝试访问 my_parent,它的值总是“无”。这里一定有什么东西超出了范围。我只是不知道如何修复它。

谢谢。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com