问题描述
我在树中的节点的最小工作示例如下:
from __future__ import annotations
from dataclasses import dataclass,field
from typing import List
from copy import copy,deepcopy
@dataclass
class Node:
parent: Node = None
children: List[Node] = field(default_factory=list)
root = Node()
for ID in range(10):
root.children.append(Node(parent=copy(root)))
assert id(root.children[-1].parent) == id(root)
我想在这里详细说明浅表复制,因为节点的子节点可以遍历其父节点而不是父节点是很重要的。但是,似乎这里有副本,并且断言失败。为什么会这样?如何安全地编写这样的树结构?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)