pythonb-tree:每个节点都从根挂起
好的,基本上我想做的是实现一个非常基本和简单的B-树,但是我发现自己有一个问题:根节点作为子节点保存树中的每个节点。我已经尽可能地简化了,下面是我面临的问题的一个例子:pythonb-tree:每个节点都从根挂起,python,b-tree,Python,B Tree,好的,基本上我想做的是实现一个非常基本和简单的B-树,但是我发现自己有一个问题:根节点作为子节点保存树中的每个节点。我已经尽可能地简化了,下面是我面临的问题的一个例子: >>> class Btree(): subs = [] value = 0 >>> a=Btree() >>> b=Btree() >>> c=Btree() >>> a.value=1 >>
>>> class Btree():
subs = []
value = 0
>>> a=Btree()
>>> b=Btree()
>>> c=Btree()
>>> a.value=1
>>> b.subs.append(a)
>>> b.value=2
>>> c.subs.append(b)
>>> c.value = 3
>>> c
<__main__.variable object at 0x103d916a0>
>>> c.value
3
>>> len(c.subs)
2
>>> c.subs
[<__main__.variable object at 0x103d91780>, <__main__.variable object at 0x103d917f0>]
>>> c.subs[1].value
2
>>> c.subs[0].value
1
类Btree():
subs=[]
值=0
>>>a=Btree()
>>>b=Btree()
>>>c=Btree()
>>>a.值=1
>>>b.subs.append(a)
>>>b.数值=2
>>>c.subs.append(b)
>>>c.值=3
>>>c
>>>c.价值
3.
>>>len(c.subs)
2.
>>>c.潜艇
[, ]
>>>c.subs[1]。值
2.
>>>c.subs[0]。值
1.
有人能告诉我发生了什么吗?您需要使用
\uuu init\uu()方法来生成实例属性。现在的做法是声明类的所有实例共享的类属性。尝试这样做:
class BTree:
def __init__(self):
self.subs = []
self.value = 0
是的,成功了。我想我应该更彻底地阅读python文档。谢谢你,我欠你一个棒棒糖!