2.1.7 表达式的层次结构Part 函数给出 Mathematica 表达式中确定的项,但当某表达式有完全一致的结构时, 能同时将表达式中的所有项表示出来是最令人满意的. 层次结构提供了指定 Mathematica 表达式中某一类项的途径,Mathematica 中的许多函数允许对 表达式中某一层进行操作. 用树状结构给出的一个简单表达式 Out[1]//TreeForm=
 |
在表达式t的第 1 层寻找 x,仅发现了 1 处
Out[2]= |  |
在表达式t的第 2 层寻找 x,发现了 2 处
Out[3]= |  |
在表达式 t 的第 2 层寻找 x,仅发现了1 处
Out[4]= |  |
用层次结构控制位置的函数 从树结构的观点看层次时,将树的顶部看成第 0 层,一个表达式中的 某一项所在的层次简单地说就是它到顶层的距离. 等价地说, 第 个标号来表示. 层次的标记方式 用树结构显示的表达式 Out[5]//TreeForm=
 |
从第 2 层往下搜索
Out[6]= |  |
显示除头部以外 f 出现的位置
Out[7]= |  |
包括头部在内 f 出现的位置
Out[8]= |  |
测试和取出某些层 列出 u 中前 2 层的项
Out[9]= |  |
给出 u 中第 2 层的项
Out[10]= |  |
在处理通常的层次时,可以使用负层次,负层次标注表达式从树的底部算起的项, -1 层包含像数字和记号一样所有的树叶. u 中 -1 层的项
Out[11]= |  |
表达式的深度指它的最大层数,可以用 TreeForm 来显示深度,一个表达式的 -n 层由该表达式中所有深度为 n ꪧ的子表达式组成. g[a] 的深度是 2
Out[12]= |  |
在 u 中 -2 层的项深度为 2
Out[13]= |  |
|