簡體   English   中英

使用python從樹結構中刪除類屬性

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM