SubsetReplace

SubsetReplace[list,rules]

replaces sublists in list according to the specified rule or list of rules.

SubsetReplace[list,rules,n]

does only the first n replacements.

SubsetReplace[rules]

represents an operator form of SubsetReplace that can be applied to an expression.

Details

  • In SubsetReplace[list,pattrhs], patt can be an expression with head List that includes pattern constructs such as PatternSequence, Repeated (..), Blank (_) and BlankSequence (__).
  • The pattern patt can also be a pattern that matches a list but does not itself have head List.
  • Sublists matching patt can appear in list in any order.
  • SubsetReplace applies transformation rules in the order in which they appear in rules. Elements of a matching sublist are removed from list and the corresponding rhs is inserted at the position of the element of the sublist that was matched first. Subsequent transformations are applied to elements that have not been transformed yet.
  • SubsetReplace[rules][list] is equivalent to SubsetReplace[list,rules].

Examples

open allclose all

Basic Examples  (2)

Replace sublists that match a pattern:

Use the operator form of SubsetReplace:

Scope  (1)

For a variable-length pattern, SubsetReplace replaces the longest match:

Introduced in 2020
 (12.1)