一行python实现树形结构的方法 定义 使用内置的defaultdict 我们可以很容易的定义一个树形数据结构 def tree(): return defaultdict(tree) example: json风格 users = tree() users['harold']['username'] = 'bell' users['handler']['username'] = 'master' 我们可以使用print(json.dumps(users))以json的形式输出,于是我们看到 {'harold': {'username': 'bell'}, 'handler': {'username': 'master'}} 不需要赋值 taxonomy= tree() taxonomy['Animalia']['Chordata']['Mammalia']['Carnivora']['Felidae']['Felis']['cat'] taxonomy['Animalia']['Chordata']['Mammalia']['Carnivora']['Felidae']['Panthera']['lion'] taxonomy['Animalia']['Chordata']['Mammalia']['Carnivora']['Canidae']['Canis']['dog'] taxonomy['Animalia']['Chordata']['Mammalia']['Carnivora']['Canidae']['Canis']['coyote'] taxonomy['Plantae']['Solanales']['Solanaceae']['Solanum']['tomato'] taxonomy['Plantae']['Solanales']['Solanaceae']['Solanum']['potato'] taxonomy['Plantae']['Solanales']['Convolvulaceae']['Ipomoea']['sweet potato'] 这时我们需要将他们转换成为标准的字典 def dicts(t): return {k: dicts(t[k]) for k in t} 我们用pprint(dicts(taxonomy))来输出结构 迭代 这颗树可以很欢乐的被迭代处理,同样因为只要简单的引用一个接口它就会出现 举例来说,假设我们想要解析一个新动物的列表,将他们加入我们上面的taxonomy, 我们只需要调用这样一个函数 add(taxonomy, 'Animalia,Chordata,Mammalia,Cetacea,Balaenopteridae,Balaenoptera,blue whale'.split(',')) 我们可以简单的实现它 def add(t, keys): for key in keys: t = t[key] 以上这篇一行python实现树形结构的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持中文源码网。