我在python上遇到了一个问题,我编写了这个类
class TNode(object):
def __init__(self, name):
self.name=name
self._children=[]
def add(self, c):
self._children=self._children +[c]
def children(self):
t=[]
for f in self._children:
t+=f
return t
def height(self):
h = 1
for node in self._children:
h = max(h, node.height() + 1)
return h
def count(self):
cnt = 1
for node in self._children:
cnt += node.count()
return cnt
def count_by_name(self, name):
cbn=0
for node in self._children:
cbn+=node.count(name)
return cbn
def paths(self, name):
pset = set()
if self.name == name:
pset.add((name,))
for node in self._children:
for p in node.path(name):
pset.add((self.name,)+p)
return pset
写后函数:
^{pr2}$这是字典:
d = {'name':'musica', 'children':
[{'name':'rock', 'children':
[{'name':'origini','children':[]},
{'name':'rock&roll','children':[]},
{'name':'hard rock', 'children':[]}]},
{'name':'jazz', 'children':
[{'name':'origini', 'children':
[{'name':'1900', 'children':
[{'name':'origini','children':[]}]}]},
{'name':'ragtime', 'children':[]},
{'name':'swing', 'children':[]}]}]}
我试着做一些手术,比如:树.count(), 树.路径()或树.高度{cdi>有相同的反应
希望你能帮助我:)
我觉得你的设计有问题。在
根据您的代码,
tree
不是TNode
实例:tree
是方法add()
的返回值,它是None
。在您可以在},但不能在
root
上调用count()
或{tree
上调用。在也许你想返回}?在
root
而不是{相关问题 更多 >
编程相关推荐