Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.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_Binary Search Tree_Trailing Whitespace - Fatal编程技术网

Python 无法确定如何从结果中删除尾随空格

Python 无法确定如何从结果中删除尾随空格,python,binary-search-tree,trailing-whitespace,Python,Binary Search Tree,Trailing Whitespace,我的代码从数组中查找平衡二叉树的输入 array = [178, 57, 26, 157, 679, 397, 898] def myFunc(x): for i in range(1, len(x)): inp = x[i] j=i-1 while j>=0 and inp<x[j]: x[j+1] = x[j] j-=1 x[j+1] = inp x

我的代码从数组中查找平衡二叉树的输入

array = [178, 57, 26, 157, 679, 397, 898]

def myFunc(x):
    for i in range(1, len(x)):
        inp = x[i]
        j=i-1
        while j>=0 and inp<x[j]:
            x[j+1] = x[j]
            j-=1
        x[j+1] = inp
    x

    class tn(object):
        def __init__(self, y):
            self.val = y
            self.left = None
            self.right =None

    def sort2bst(x):
        if not x:
            return None
        m = len(x)//2
        node = tn(x[m])
        node.left = sort2bst(x[:m])
        node.right  = sort2bst(x[m+1:])
        return node


    def po(node):
        if not node:
            return
        print(node.val, end=" ")
        po(node.left)
        po(node.right)

    result = sort2bst(x)
    po(result)

myFunc(array)
输出如下所示:178 57 26 157 679 397 898


到目前为止,除了从输出中删除尾随空格之外,我已经能够做任何事情了。我必须使用end=在单行中输出,但这意味着最后一个值后面也有一个空格。我尝试使用.rstrip,但也不起作用,因为我认为它只对字符串有效。如何在结尾处删除此空白?

您可以收集结果并在获得所有结果后创建字符串,而不是连续打印:

def ponode: 如果不是节点: 返回[] 返回[strnode.val、*ponode.left、*ponode.right] 结果=sort2bstx print.joinporesult
无需连续打印,您可以收集结果并在获得所有结果后创建字符串:

def ponode: 如果不是节点: 返回[] 返回[strnode.val、*ponode.left、*ponode.right] 结果=sort2bstx print.joinporesult
您是否尝试过构建字符串然后打印它,而不是逐段打印?您可以根据数组的长度添加一个计数器,然后添加一个if来检查是否要打印最后一个数字,在这种情况下,您删除了end=您是否尝试构建字符串然后打印它,您可以根据数组的长度添加一个计数器,然后添加一个if来检查是否要打印最后一个数字,在这种情况下,您可以删除end=太好了!它完全按照我的需要工作。非常感谢。太好了!它完全按照我的需要工作。非常感谢。