TreeReplacePart
TreeReplacePart[tree,posnew]
给出一颗树,其中用 new 替换 tree 的由 pos 指定的位置处的子树.
TreeReplacePart[tree,{pos1new1,pos2new2,…}]
用 newi 替换由 posi 指定的位置处的子树.
TreeReplacePart[tree,{pos1,pos2,…}new]
用 new 替换由 posi 指定的位置处所有子树.
TreeReplacePart[tree,{{pos1,1,pos1,2,…}new1,…}]
用 newi 替换由 {posi,1,posi,2,…} 指定的位置处的子树.
TreeReplacePart[posnew]
表示可应用于树的 TreeReplacePart 的算符形式.
更多信息和选项
- TreeReplacePart 允许在 Tree 对象中与任何模式匹配的位置处用新的子树替换子树,或用一般表达式作为叶子替换子树. »
- TreeReplacePart[tree,{i,j,…}new] 用 new 替换位置 {i,j,…} 处的子树.
- TreeReplacePart 可使用 TreePosition 返回的位置指定以及在 TreeInsert 和 TreeExtract 等函数中使用的扩展形式. »
- 可用 {part1,part2,…} 给出单个位置 pos,其中,部分位置指定 parti 包括:
-
i 第 i 个孩子 -i 从末尾算起的第 i 个孩子 {i1,i2,…} 编号为 i1、i2、… 的孩子的列表 pattern 编号与 patt 匹配的孩子 "key" 键为 "key" 的孩子 Key[k] 具有任意键 k 的孩子 - 模式可以包含如 __ 这样的结构,表示不同长度的位置指定. »
- 在 TreeReplacePart[tree,{p1,p2,…}new] 中,如果所有的 pi 都是列表,则 {p1,p2,…} 被解释为单个位置指定的列表. 否则,{p1,p2,…} 将被视为单个位置指定. »
- TreeReplacePart 适用于含有子树 Association 的树,使用与 Part 中相同的键规范. »
- TreeReplacePart[posnew][tree] 等价于 TreeReplacePart[tree,posnew].
- TreeReplacePart 的选项与 Tree 的选项相同.
范例
打开所有单元关闭所有单元基本范例 (5)
范围 (5)
关联 (5)
如果键是一个字符串,则 Key 封装不是必须的:
属性和关系 (11)
用不是 Tree 对象的表达式替换子树相当于插入叶子:
插入:通过 Splice 用多个子树替换子树:
TreeReplacePart 替换树的子树:
ReplacePart 可直接替换子表达式:
如果 pos 不是列表,pos 和 {pos} 是等价的指定:
TreeReplacePart 按给出的顺序使用规则:
TreeReplacePart 可使用 TreePosition 返回的位置列表:
以下是 TreeExtract 返回的子树:
如果所有的 pi 都是列表,TreeReplacePart[tree,{p1,p2,…}new] 将 {p1,p2,…} 视为单个位置的列表:
对于 {{1,2},{3,4}},位置 {1,2} 和 {3,4} 处的子树将被替换:
可能存在的问题 (2)
TreeReplacePart 只影响已经存在的位置:
TreeReplacePart[tree,{}new] 不替换任何子树,因为位置列表为空:
TreeReplacePart[tree,{{}}new] 中的替换位置为 {},对应于整棵树:
文本
Wolfram Research (2021),TreeReplacePart,Wolfram 语言函数,https://reference.wolfram.com/language/ref/TreeReplacePart.html (更新于 2024 年).
CMS
Wolfram 语言. 2021. "TreeReplacePart." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2024. https://reference.wolfram.com/language/ref/TreeReplacePart.html.
APA
Wolfram 语言. (2021). TreeReplacePart. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/TreeReplacePart.html 年