我为二叉树定义了一个类:
class Tree:
def __init__(self, list, left=None, right=None, value=None):
self.left = left
self.right = right
self.list = list
self.value = value
建立树后,我要删除树的list属性。
def cleanTree(Tree):
if Tree is None:
return
if Tree.left:
cleanTree(Tree.left)
del Tree.list
if Tree.right:
cleanTree(Tree.right)
但是它返回NoneType:
>>> Tree = Tree()
>>> build(Tree)
>>> newTree = cleanTree(Tree)
>>> vars(newTree)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: vars() argument must have __dict__ attribute
答案 0 :(得分:1)
您的cleanTree
函数不返回任何内容。
尝试这样做:
def cleanTree(Tree):
if Tree is None:
return
del Tree.list
if Tree.left:
cleanTree(Tree.left)
if Tree.right:
cleanTree(Tree.right)
return Tree