AttributeError:'NoneType'对象没有属性'value'

问题描述 投票:0回答:1

我目前正在处理有关二叉搜索树的问题。我的问题是我收到错误“ AttributeError:'NoneType'对象没有属性'value'”,但是我看不到该怎么办。此代码在我的BST类中。

 def _insert(self, data):
    if self.root.value == data:
        return False

我有一个Node类和BinarySearchTree类。

class _Node:
    def __init__(self, value):
        self.right_child = None
        self.left_child = None
        self.value = value

class BST:
   def __init__(self):
       self.root = None

我想这与在我的init()函数中将self.root设置为None的事实有关。如何解决此问题?

binary-search-tree
1个回答
0
投票

self.rootNone,因此当您检查self.root.value时,根目录没有此类元素。

而不是初始化self.root=None,而是初始化self.root=Node(None)

同样在插入时,如果您打算插入到root,然后检查root.value是否为None,如果是,请插入其余的逻辑内容

© www.soinside.com 2019 - 2024. All rights reserved.