python - python中5级树结构的构建

标签 python tree

我想减少访问数据库检索数据的次数。所以我认为将整个数据放入树中会提高系统的性能,因为我不会频繁访问数据库。

我是Python的初学者,所以请在创建树结构时为我提供帮助和建议。

最佳答案

您可以使用嵌套 dictionaries 。嵌套意味着键:值对的值可以是另一个字典。

<小时/> JerseyMike给出了一个很好的例子,我只是想指出他的addItemAttributes函数相当于更简洁的

def addItemAttributes(tree, idList):
    (menu, cat, subcat, item, attribs) = idList;

    currDict = tree.setdefault(menu, {})\
        .setdefault(cat, {})\
        .setdefault(subcat, {})\
        .setdefault(item, {})

    for a in attribs:
        currDict[a[0]] = a[1]

...并且您可能希望将 getItemAttributes 包装在 try block 中,以便可以处理其中一个键丢失的情况,例如。

try:
    getItemAttributes(...)
except KeyError:
    #key was incorrect, deal with the situation

关于python - python中5级树结构的构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9889651/

相关文章:

python - 值错误 : Must pass 2-d input. 形状=(1, 50, 2)

python - 如何使用 gitPython 将 'pipe' 密码发送到 remote.update()

python - 将列表作为索引传递以在 n 维嵌套列表中赋值

c - 在 C 中动态调整数组大小时 Valgrind 错误

java - 树-路径总和

python - 在列表理解期间使用附加更改列表

python - isinstance(object, type) 给了我一个错误 - 另外,展平嵌套列表

c# - 二叉搜索树遍历 - PreOrder

java - Java中如何遍历树并在一定深度打印注释?

c++ - 如何在Leonardo堆中找到root的左子节点和右子节点?