TreeExpression

TreeExpression[tree]

根据 Tree 对象 tree 的结构给出表达式.

TreeExpression[tree,struct]

给出表达式,其中将 tree 的数据和子树解释为由 struct 指定.

更多信息和选项

  • TreeExpression 可以根据指定的 Tree 对象构建列表、数组、规则、XML 和任意表达式.
  • 任意表达式的 struct 的可能形式包括: »
  • "HeadTrees"按层级对应于表达式的子表达式的标头的树
    "Heads"按层级给出的表达式的子表达式的标头
    "Subexpressions"按层级给出的表达式的子表达式
    "Atoms"-1 层表达式的原子子表达式
    Null按层级给出的表达式的子表达式,不含数据
    None表达式自身
  • TreeExpression 的选项包括:
  • Heads 包括表达式的标头,并将它们的组成部分作为子树
  • 表达式 f[a,b][g[1,2],x,y] 的可能结构包括:
  • 带有选项设置 HeadsTrue 的这些结构的版本包括: »
  • 任意表达式的 struct 的保持形式包括:
  • "HeldHeadTrees"按层级对应于保持表达式的子表达式的标头的树
    "HeldHeads"按层级保持表达式的子表达式的标头
    "HeldSubexpressions"按层级保持表达式的子表达式
    "HeldAtoms"保持 -1 层的表达式的原子子表达式
  • 常见类型的表达式的 struct 的可能形式包括:
  • "XML"XML 对象的标签、属性和元素
  • 嵌套列表和关联的 struct 的可能形式包括: »
  • "List"嵌套列表的元素
    "Association"嵌套关联的元素
    "Dataset"数据集的标题和数据
  • 嵌套规则的 struct 的可能形式包括: »
  • "Rules"嵌套规则的左侧和叶子
    "JSON"JSON 对象的名称和值,用名称作为数据
    "RawJSON"JSON 对象的名称和值,用名称作为键
    "FileSystem"文件系统中的目录和文件

范例

打开所有单元关闭所有单元

基本范例  (4)

根据树的结构构建表达式:

包括标头:

指定要使用的结构:

根据树构建符号 XML:

根据树构建保持表达式:

根据树构建嵌套关联:

范围  (14)

任意表达式  (6)

"HeadTrees"  (1)

如果 TreeQ[data] 给出 False,则 TreeExpression[Tree[data,{tree1,tree2,}],"HeadTrees"] 给出标头为 data 的表达式,参数由 TreeExpression[treei,"HeadTrees"] 给出:

如果 TreeQ[data] 给出 True,则 TreeExpression[Tree[data,{tree1,tree2,}],"HeadTrees"] 给出标头为 TreeExpression[data,"HeadTrees"] 而不是 data 的表达式:

包括标头:

TreeExpression[Tree[data,None],"HeadTrees"] 给出 data

"Heads"  (1)

TreeExpression[Tree[data,{tree1,tree2,}],"Heads"] 给出标头为 data 的表达式,参数由 TreeExpression[treei,"Heads"] 给出:

包括标头:

TreeExpression[Tree[data,None],"Heads"] 给出 data

"Subexpressions"  (1)

TreeExpression[Tree[,{tree1,tree2,}],"Subexpressions"] 给出表达式,其参数由 TreeExpression[treei,"Subexpressions"] 给出:

包括标头:

TreeExpression[Tree[data,None],"Subexpressions"] 给出 data

"Atoms"  (1)

TreeExpression[Tree[,{tree1,tree2,}],"Atoms"] 给出参数由 TreeExpression[treei,"Atoms"] 给定的表达式:

包括标头:

TreeExpression[Tree[data,None],"Atoms"] 给出 data

Null  (1)

TreeExpression[Tree[,{tree1,tree2,}],Null] 给出参数由 TreeExpression[treei,Null] 给定的表达式:

包括标头:

TreeExpression[Tree[,None],Null] 给出 Null

None  (1)

TreeExpression[Tree[data,],None] 给出 data

常见表达式  (1)

"XML"  (1)

根据树构建符号 XML:

嵌套列表和关联  (3)

"List"  (1)

根据树构建嵌套列表:

"Association"  (1)

根据树构建嵌套关联:

"Dataset"  (1)

根据树构建数据集:

嵌套规则  (4)

"Rules"  (1)

根据树构建嵌套规则:

"JSON"  (1)

根据树构建 JSON 规则:

"RawJSON"  (1)

根据树构建 JSON 关联:

"FileSystem"  (1)

构建嵌套关联,其中,用树中的文件名作为键:

选项  (2)

Heads  (2)

如果采用默认选项设置 HeadsFalse,在任何层级都不包括表达式的标头:

如果设置 HeadsTrue,则与表达式的其他元素一样将标头包含在内:

默认情况下,任意表达式的结构不包括标头:

包括标头:

属性和关系  (7)

从表达式构造一棵树:

将所得表达式转换回树:

根据表达式构建树:

转换回原来的表达式:

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

TreeFold 在每个子树上方插入一个父节点:

这对应于映射表达式中参数:

默认情况下,Map 映射表达式中的参数:

根据表达式中的原子构建树:

TreeFold 在每个子树之前插入一个兄弟节点:

这对应于映射表达式中子表达式:

HeadsTrue 时,Map 映射表达式中子表达式:

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

TreeMap 映射数中子树的数据:

这对应于映射表达式中的标头和叶子:

Map 可直接映射标头和叶子:

根据表达式中的原子构建树:

TreeMap 可以只映射树中叶子的数据:

这对应于映射表达式中的原子:

Map 可以直接映射表达式中的原子:

在返回前会完成由 TreeExpression 构建的表达式的计算:

保留结构将表达式封装到 HoldComplete 中,从而避免计算:

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

文本

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

CMS

Wolfram 语言. 2021. "TreeExpression." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2022. https://reference.wolfram.com/language/ref/TreeExpression.html.

APA

Wolfram 语言. (2021). TreeExpression. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/TreeExpression.html 年

BibTeX

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

BibLaTeX

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