TreePosition
TreePosition[tree,pattern]
给出数据与 pattern 匹配的 tree 的子树的位置列表.
TreePosition[tree,pattern,levelspec]
只给出 tree 的在 levelspec 指定的层上出现的匹配.
TreePosition[tree,pattern,levelspec,n]
给出找到的前 n 个匹配的位置.
TreePosition[pattern]
表示 TreePosition 的算符形式,可将其应用于树.
更多信息和选项
- TreePosition 列出与 Tree 对象中任何层级范围内任何模式匹配的数据的位置. 匹配位置的列表可以以许多不同的顺序给出,包括深度优先和广度优先遍历.
- TreePosition[tree,pattern] 依次测试 tree 的所有子树,试图找出数据与 pattern 匹配的子树.
- TreePosition 以适合在 TreeExtract、TreeReplacePart 和 TreeDelete 中使用的形式返回位置列表.
- TreePosition 返回的部分指定 {} 表示整个 tree.
- TreePosition 使用 TreeLevel 中的标准层级规范:
-
n 层 1 至 n All 层 0 至 Infinity Infinity 层 1 至 Infinity {n} 只有 n 层 {n1,n2} 层 n1 至 n2 - TreePosition 中 levelspec 的默认值为{0,Infinity}.
- TreePosition 以从左到右、深度优先的顺序遍历子树,生成按字典顺序排列的索引列表.
- TreePosition[…,TreeTraversalOrderorder] 允许以不同的顺序访问子树,例如深度优先和广度优先遍历.
- TreePosition[pattern][tree] 等价于 TreePosition[tree,pattern].
范例
打开所有单元关闭所有单元基本范例 (4)
选项 (3)
属性和关系 (4)
TreeCases 提取由 TreePosition 给出的位置:
TreeCount 给出由 TreePosition 给出的匹配位置数:
Position[expr,pattern,levelspec,HeadsFalse] 等价于 TreePosition[ExpressionTree[expr,"Subexpressions"],pattern,levelspec]:
对于正的层,Position[expr,pattern,levelspec] 等价于 TreePosition[ExpressionTree[expr,"Subexpressions",HeadsTrue],pattern,levelspec]-1]:
可能存在的问题 (1)
TreePosition 默认情况下从层 1 开始,因此不访问根:
文本
Wolfram Research (2021),TreePosition,Wolfram 语言函数,https://reference.wolfram.com/language/ref/TreePosition.html (更新于 2021 年).
CMS
Wolfram 语言. 2021. "TreePosition." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2021. https://reference.wolfram.com/language/ref/TreePosition.html.
APA
Wolfram 语言. (2021). TreePosition. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/TreePosition.html 年