[英]Remove class attribute from tree structure with python
我為二叉樹定義了一個類:
class Tree:
def __init__(self, list, left=None, right=None, value=None):
self.left = left
self.right = right
self.list = list
self.value = value
構建樹后,我要刪除Tree的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
您的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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.