gpt4 book ai didi

python-3.x - 如何返回而不是打印

转载 作者:行者123 更新时间:2023-12-01 02:00:00 24 4
gpt4 key购买 nike

我通过使用 print() 获得了所需的结果,但在使用 return 时我想要相同的结果。如何将其更改为返回?当我这样做时,它只返回第一个键,值,我希望在 BST 中拥有四个键,值。

 def inOrder(self, aNode):
if aNode:
self.inOrder (aNode.leftChild)
print (aNode.key + ' ' + aNode.payload +'\n')
self.inOrder (aNode.rightChild)

我正在寻找的结果是有四个键及其值。

最佳答案

要完全执行您想要的操作,您需要使用 yield关键字(yield from 语句的详细信息 here )

 def inOrder(self, aNode):
if aNode:
yield from self.inOrder(aNode.leftChild)
yield (aNode.key, aNode.payload)
yield from self.inOrder(aNode.rightChild)

这将返回一个生成器,您可以使用list(inOrder(...))“扩展”它

您还可以有一个专门的论点,您可以在阅读过程中更新它:

 def inOrder(self, aNode, res=[]):
if aNode:
self.inOrder(aNode.leftChild, res)
res.append((aNode.key, aNode.payload))
self.inOrder(aNode.rightChild, res)

这将提供类似的结果。

关于python-3.x - 如何返回而不是打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60436201/

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