Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中获取常规树的所有子节点_Python_Tree_Child Nodes - Fatal编程技术网

如何在Python中获取常规树的所有子节点

如何在Python中获取常规树的所有子节点,python,tree,child-nodes,Python,Tree,Child Nodes,“我的树”具有以下结构: tree={'0':('1','2','3'),'1':('4'),'2':('5','6'),'3':(),'4':('7','8'),'8':('9','10','11')) 如何编写Python代码来检索特定节点的所有给定子节点? 例如,如果我给它节点4,代码应该检索7,8,9,10,11。 对于节点2,它应该检索5、6等等 我刚开始学习Python的基础知识,但我不知道如何为非二叉树实现这一点。您可以使用队列。获得用户请求的值后,将其推送到队列中。然后,当队列不

“我的树”具有以下结构: tree={'0':('1','2','3'),'1':('4'),'2':('5','6'),'3':(),'4':('7','8'),'8':('9','10','11'))

如何编写Python代码来检索特定节点的所有给定子节点? 例如,如果我给它节点4,代码应该检索7,8,9,10,11。 对于节点2,它应该检索5、6等等

我刚开始学习Python的基础知识,但我不知道如何为非二叉树实现这一点。

您可以使用队列。获得用户请求的值后,将其推送到队列中。然后,当队列不为空时,弹出一个值,打印它,检查dict,如果当前值是dict中的一个键,则将这些值中的每一个添加到队列中,以便在下一个过程中检查它们

导入队列
tree={'0':('1','2','3'),'1':('4'),'2':('5','6'),'3':(),'4':('7','8'),'8':('9','10','11'))
num=输入(“您想要什么”)
q=队列。队列()
q、 put(num)
而不是q.empty():
n=q.get()
对于n中的s:
印刷品
如果树中有一个树:
q、 放置(树[s])


请注意,如果您有一个tree
tree={0':('1'),'1':('0')}
,或任何其他循环引用,则此代码将永远运行。小心

非常感谢你,这非常好用!无论如何,这也可以通过使用递归来实现吗?当然可以!使用列表来保存当前密钥,而不是使用队列。创建一个循环遍历每个键的函数。对于每个键,获取所有值,将它们放入列表中,然后使用该列表调用函数。完成列表后,或者如果列表为空,则打印当前值并返回。