String 遍历字符串表示法

String 遍历字符串表示法,string,binary-tree,traversal,tree-traversal,inorder,String,Binary Tree,Traversal,Tree Traversal,Inorder,我正在进行顺序遍历,我很难创建一个递归的顺序树遍历,其中一个字符串看起来像这样[1,2,3]。相反,我得到了这样的东西[1,2,3,]。我不知道如何去掉3后面多余的逗号 def inorder(self): if self.__root == None: return '[ ]' else: return '[ ' + self.__inorder(self.__root) + ']' def __inorder(self, root):

我正在进行顺序遍历,我很难创建一个递归的顺序树遍历,其中一个字符串看起来像这样[1,2,3]。相反,我得到了这样的东西[1,2,3,]。我不知道如何去掉3后面多余的逗号

def inorder(self):
    if self.__root == None:
        return '[ ]'
    else:
        return '[ ' + self.__inorder(self.__root) + ']'

def __inorder(self, root):
    rep = ''
    if root != None:
        rep = self.__inorder(root.leftC) + str(root.value)  + ', ' +  self.__inorder(root.rightC)
    return rep
使用切片

>>> a = "[1,2,3,]"
>>> a[0:len(a)-2]+a[len(a)-1]
'[1,2,3]'

这不是一个列表,尽管它是一个字符串。我的示例也是针对字符串的。由于字符串是一个字符元组,所以切片的工作方式与字符串的工作方式相同。我不认为我理解您的意思,也不知道如何将其合并到我的代码中?在u_顺序方法中返回rep[0:len(rep)-1]这不起作用。如果返回rep[0:len(rep)-1],则得到[1,2,3]