TreeDelete[tree,pos]
deletes the subtree of tree at the position specified by pos.
TreeDelete[tree,{pos1,pos2,…}]
deletes subtrees at several positions.
TreeDelete[pos]
represents an operator form of TreeDelete that can be applied to a tree.
TreeDelete
TreeDelete[tree,pos]
deletes the subtree of tree at the position specified by pos.
TreeDelete[tree,{pos1,pos2,…}]
deletes subtrees at several positions.
TreeDelete[pos]
represents an operator form of TreeDelete that can be applied to a tree.
Details and Options
- TreeDelete allows removal of subtrees at any position in a Tree object.
- TreeDelete[tree,{i,j,…}] deletes the subtree at position {i,j,…}.
- TreeDelete can use the position specifications returned by TreePosition as well as extended forms as used in functions such as TreeExtract and TreeReplacePart. »
- An individual position specification pos can be given as {part1,part2,…}, where part specifications parti include:
-
i the i
child-i the i
child from the end{i1,i2,…} the list of children with part numbers i1, i2, … "key" the child whose key is "key" Key[k] the child with an arbitrary key k - In TreeDelete[tree,{p1,p2,…}], {p1,p2,…} is interpreted as a list of individual position specifications if all the pi are lists. Otherwise, {p1,p2,…} will be taken to be an individual position specification. »
- TreeDelete works on trees containing an Association of subtrees, using the same specification for keys as in Part. »
- TreeDelete[pos][tree] is equivalent to TreeDelete[tree,pos].
- TreeDelete has the same options as Tree.
-
AlignmentPoint Center the default point in the graphic to align with AspectRatio Automatic ratio of height to width Axes False whether to draw axes AxesLabel None axes labels AxesOrigin Automatic where axes should cross AxesStyle {} style specifications for the axes Background None background color for the plot BaselinePosition Automatic how to align with a surrounding text baseline BaseStyle {} base style specifications for the graphic ContentSelectable Automatic whether to allow contents to be selected CoordinatesToolOptions Automatic detailed behavior of the coordinates tool Epilog {} primitives rendered after the main plot FormatType TraditionalForm the default format type for text Frame False whether to put a frame around the plot FrameLabel None frame labels FrameStyle {} style specifications for the frame FrameTicks Automatic frame ticks FrameTicksStyle {} style specifications for frame ticks GridLines None grid lines to draw GridLinesStyle {} style specifications for grid lines ImageMargins 0. the margins to leave around the graphic ImagePadding All what extra padding to allow for labels etc. ImageSize Automatic the absolute size at which to render the graphic LabelStyle {} style specifications for labels Method Automatic details of graphics methods to use PlotLabel None an overall label for the plot PlotRange All range of values to include PlotRangeClipping False whether to clip at the plot range PlotRangePadding Automatic how much to pad the range of values PlotRegion Automatic the final display region to be filled PreserveImageOptions Automatic whether to preserve image options when displaying new versions of the same graphic Prolog {} primitives rendered before the main plot RotateLabel True whether to rotate y labels on the frame Ticks Automatic axes ticks TicksStyle {} style specifications for axes ticks
List of all options
Examples
open all close allBasic Examples (3)
Delete the second child of a tree:
TreeDelete[[image], {2}]Delete a subtree at any position:
TreeDelete[[image], {3, 3}]Delete subtrees at several positions:
TreeDelete[[image], {{1}, {2, 1}, {3, 3}}]Use the operator form of TreeDelete:
TreeDelete[-1][[image]]Scope (5)
Associations (5)
Delete a subtree of a tree containing an association by key:
TreeDelete[[image], {Key[expr]}]If the key is a string, the Key wrapper is optional:
TreeDelete[[image], {"str"}]Delete a subtree of a tree containing an association by key:
TreeDelete[[image], {Key[1]}]Delete a subtree of a tree containing an association by position:
TreeDelete[[image], {1}]Delete several subtrees of a tree containing an association:
TreeDelete[[image], {{1}, {Key[1]}}]Delete a nested subtree of a tree containing an association:
TreeDelete[[image], {Key[3], 1}]Delete several nested subtrees of a tree containing an association:
TreeDelete[[image], {{Key[3], 1}, {3, 1}}]Properties & Relations (7)
Subtrees can be deleted, as well as inserted or replaced:
TreeDelete[[image], 2]TreeInsert[[image], [image], 2]TreeReplacePart[[image], 2 -> [image]]Construct a tree from the heads in an expression:
ExpressionTree[1[2[3, 4], 5[6, 7]], "Heads"]TreeDelete deletes a subtree of a tree:
TreeDelete[%, {1}]This corresponds to deleting a subexpression of an expression:
TreeExpression[%, "Heads"]Delete can delete subexpressions directly:
Delete[1[2[3, 4], 5[6, 7]], {1}]If pos is not a list, pos and {pos} are equivalent specifications:
tree = [image];TreeDelete[tree, 3] === TreeDelete[tree, {3}]Deleting position {} deletes the whole tree:
TreeDelete[[image], {{}}]TreeDelete ignores repeated positions:
TreeDelete[[image], {{1}, {3}, {1}}]TreeDelete can use the lists of positions returned by TreePosition:
tree = NestTree[Range[3# - 1, 3# + 1]&, 1, 2]pos = TreePosition[tree, _ ? PrimeQ]TreeDelete[tree, %]These are the subtrees returned by TreeExtract:
TreeExtract[tree, pos]TreeDelete[tree,{p1,p2,…}] treats {p1,p2,…} as a list of individual position specifications if all the pi are lists:
tree = [image];For {{1,2},{3,4}}, the subtrees at positions {1,2} and {3,4} are deleted:
TreeDelete[tree, {{1, 2}, {3, 4}}]If any pi is not a list, {p1,p2,…} is treated as a list of part specifications:
TreeDelete[tree, {{1, 2}, 3}]TreeDelete[tree, {1, {3, 4}}]For {{{1,2},{3,4}}}, parts 3 and 4 of parts 1 and 2 are deleted:
TreeDelete[tree, {{{1, 2}, {3, 4}}}]Possible Issues (1)
TreeDelete[tree,{}] does not delete any subtrees because the list of positions is empty:
TreeDelete[[image], {}]TreeDelete[tree,{{}}] deletes position {}, which corresponds to the whole tree:
TreeDelete[[image], {{}}]Related Guides
Text
Wolfram Research (2021), TreeDelete, Wolfram Language function, https://reference.wolfram.com/language/ref/TreeDelete.html (updated 2024).
CMS
Wolfram Language. 2021. "TreeDelete." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2024. https://reference.wolfram.com/language/ref/TreeDelete.html.
APA
Wolfram Language. (2021). TreeDelete. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/TreeDelete.html
BibTeX
@misc{reference.wolfram_2026_treedelete, author="Wolfram Research", title="{TreeDelete}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/TreeDelete.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_treedelete, organization={Wolfram Research}, title={TreeDelete}, year={2024}, url={https://reference.wolfram.com/language/ref/TreeDelete.html}, note=[Accessed: 13-June-2026]}