使用元组表示不可变的层次结构

时间:2010-09-01 09:54:43

标签: python hierarchy tuples

我正在尝试使用namedtuple来表示层次结构。从本质上讲,每个节点都有三个与层次结构相关的属性:parentleftChildrightChild(它们也有一些带有实际信息的属性,但这对于问题并不重要) 。问题是父母和子女之间的循环引用。由于我需要在施工时指定所有值,因此我遇到了问题,因为父母需要先建造孩子,而孩子需要先建造父母。有没有办法(除了使用自定义类而不是元组)?

3 个答案:

答案 0 :(得分:2)

不,没有。

答案 1 :(得分:0)

删除父字段。您仍然可以在不保留对父节点的引用的情况下有效地实现任何树操作操作。

答案 2 :(得分:0)

一个技巧是不使用对象引用,而是使用在哈希表中维护的符号ID。