python-3.x - 使用属性或引用的anytree nodemixin
问题描述
我有一个现有的树,我想通过添加 NodeMixin 来添加任何树功能。问题是 NodeMixin 想要一个固定的名称 'children' 为其子元素,我已经有一个不同名称的列表。
另一个问题(我正在使用 mypy)是现有子元素列表不是可选的 - 终端节点有空列表,NodeMixin 想要“无”作为终端对象的“子元素”。
如果我必须重命名对象并处理孩子的可选性质,它将产生很多变化。
是否可以将子元素定义为@property 或现有子元素的引用?
解决方案
(a) 可以为父级和子级使用属性,(b) 很容易为子级编写自定义可迭代类,以解决 anytree 和我的树迭代之间的差异。
更新: is_leaf 属性也必须被覆盖 - 否则每个节点都是如此。
推荐阅读
- javascript - 一次播放一个音频 Nextjs
- python - 如何在for循环中将字符串与python中的列表连接起来
- javascript - 如何配置网站 (Php) 以运行 Cordova Camera 插件代码
- c# - 异常弹出窗口似乎放大了
- javascript - 输入验证后弹出并提交Javascript
- java - 为什么有时我需要在 `package` 之前运行 `build`?
- tinymce - 在 TinyMCE 中隐藏源输入字段或更改显示的 url
- apache-spark - 从不同的数据集中删除值
- mysql - 对 MySQL 表进行分区是否必须使用唯一索引?
- c# - 我需要将参数从父级传递给子级