在Python中,树形结构可以通过类和字典来实现。下面是一个使用类和`defaultdict`来创建树形结构的示例:
from collections import defaultdict
class TreeNode:
def __init__(self, value):
self.value = value
self.children = []
def add_child(self, child_node):
self.children.append(child_node)
使用defaultdict创建树形结构
def tree():
return defaultdict(tree)
示例:创建用户树形结构
users = tree()
users['harold']['username'] = 'bell'
users['handler']['username'] = 'master'
打印树形结构
print(json.dumps(users, indent=4))
如果你想要一个更通用的树形结构,可以使用递归定义,如下所示:
from collections import defaultdict
def tree():
return defaultdict(tree)
示例:创建一个分类学上的树形结构
taxonomy = tree()
taxonomy['Animalia']['Chordata']['Mammalia']['Carnivora']['Felidae']['Felis']['cat'] = None
taxonomy['Animalia']['Chordata']['Mammalia']['Carnivora']['Felidae']['Panthera']['lion'] = None
taxonomy['Animalia']['Chordata']['Mammalia']['Carnivora']['Canidae']['Canis']['dog'] = None
taxonomy['Animalia']['Chordata']['Mammalia']['Carnivora']['Canidae']['Canis']['coyote'] = None
打印树形结构
print(json.dumps(taxonomy, indent=4))
以上代码展示了如何使用Python的`defaultdict`和自定义的`TreeNode`类来创建和打印树形结构。