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 返回的位置指定以及在 TreeInsertTreeExtract 等函数中使用的扩展形式. »
  • 可用 {part1,part2,} 给出单个位置 pos,其中,部分位置指定 parti 包括:
  • ii 个孩子
    -i从末尾算起的第 i 个孩子
    {i1,i2,}编号为 i1i2 的孩子的列表
    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)

用一个叶子替换一个子树:

替换任意位置处的子树:

替换多个位置上的子树:

用不同的子树替换各个位置上的子树:

替换位置与模式匹配的子树:

使用 TreeReplacePart 的算符形式:

范围  (5)

关联  (5)

按照键替换含有关联的树中的子树:

如果键是一个字符串,则 Key 封装不是必须的:

按照键替换含有关联的树中的子树:

按照位置替换含有关联的树中的子树:

替换含有关联的树中的几个子树:

替换含有关联的树中的嵌套子树:

替换含有关联的树中的几个嵌套子树:

属性和关系  (11)

模式可表示不同长度的 part 列表:

用不是 Tree 对象的表达式替换子树相当于插入叶子:

表达式 x 被作为叶子

插入:

通过 Splice 用多个子树替换子树:

子树可以替换,也可以插入或删除:

根据表达式的标头构建树:

TreeReplacePart 替换树的子树:

这相当于替换表达式的子表达式:

ReplacePart 可直接替换子表达式:

如果 pos 不是列表,pos{pos} 是等价的指定:

不是明确列表的模式 p 匹配最邻近的孩子:

这种情况下,p 等价于 {p}

替换位置为 {} 时将替换整棵树:

TreeReplacePart 按给出的顺序使用规则:

TreeReplacePart 可使用 TreePosition 返回的位置列表:

以下是 TreeExtract 返回的子树:

如果所有的 pi 都是列表,TreeReplacePart[tree,{p1,p2,}new]{p1,p2,} 视为单个位置的列表:

对于 {{1,2},{3,4}},位置 {1,2}{3,4} 处的子树将被替换:

如果任意一个 pi 不是列表,则 {p1,p2,} 被视为部分位置指定:

对于 {{{1,2},{3,4}}},位置 12 处的位置 34 被替换:

可能存在的问题  (2)

TreeReplacePart 只影响已经存在的位置:

TreeReplacePart[tree,{}new] 不替换任何子树,因为位置列表为空:

TreeReplacePart[tree,{{}}new] 中的替换位置为 {},对应于整棵树:

Wolfram Research (2021),TreeReplacePart,Wolfram 语言函数,https://reference.wolfram.com/language/ref/TreeReplacePart.html (更新于 2024 年).

文本

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 年

BibTeX

@misc{reference.wolfram_2024_treereplacepart, author="Wolfram Research", title="{TreeReplacePart}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/TreeReplacePart.html}", note=[Accessed: 21-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_treereplacepart, organization={Wolfram Research}, title={TreeReplacePart}, year={2024}, url={https://reference.wolfram.com/language/ref/TreeReplacePart.html}, note=[Accessed: 21-November-2024 ]}