我们刚收到这段代码,但我不明白_todo = [ self ]
的含义。
class ABR(object):
def __init__(self,ordre,root=None):
self.__root = None
assert ordre in (lt,gt,leq,geq)
self.__order = ordre
if isinstance(root,Sommet):
self.__root = root
def __str__(self):
""" effectue un parcours infixe """
_todo = [ self ]
_done = "[ "
while _todo != [] :
_next = _todo.pop(0)
if _next != None :
if isinstance(_next,Sommet):
_done += "%s, " % _next.val
elif not _next.estVide:
if _next.hasRightSubTree :
_todo.insert(0,_next.rightSubTree)
_todo.insert(0,_next.racine)
if _next.hasLeftSubTree :
_todo.insert(0,_next.leftSubTree)
return _done[:-2]+" ]"
答案 0 :(得分:0)
行_todo = [ self ]
创建一个名为_todo
的列表,其中包含一个元素,该元素是调用__str__
方法的对象。 (__str__
方法通常由print
语句调用。)
然后,该变量随后用于添加/附加子项的字符串表示,以创建树的展平表示。