Cases

Cases[{e1, e2, ...}, pattern]
gives a list of the that match the pattern.

Cases[{e1, ...}, pattern->rhs]
gives a list of the values of rhs corresponding to the that match the pattern.

Cases[expr, pattern, levelspec]
gives a list of all parts of expr on levels specified by levelspec that match the pattern.

Cases[expr, pattern->rhs, levelspec]
gives the values of rhs that match the pattern.

Cases[expr, pattern, levelspec, n]
gives the first n parts in expr that match the pattern.

Details and OptionsDetails and Options

  • The first argument to Cases need not have head List.
  • Cases[expr, pattern:>rhs] evaluates rhs only when the pattern is found.
  • Cases uses standard level specifications:
  • nlevels through n
    Infinitylevels through Infinity
    {n}level n only
    {n1,n2}levels through
  • The default value for levelspec in Cases is .
  • A positive level n consists of all parts of expr specified by n indices.
  • A negative level -n consists of all parts of expr with depth n.
  • Level consists of numbers, symbols and other objects that do not have subparts.
  • Level corresponds to the whole expression.
  • With the option setting Heads->True, Cases looks at heads of expressions, and their parts.
  • Cases traverses the parts of expr in a depth-first order, with leaves visited before roots.

ExamplesExamplesopen allclose all

Basic Examples (2)Basic Examples (2)

Find cases that explicitly match integers:

In[1]:=
Click for copyable input
Out[1]=

Find cases that do not match integers:

In[2]:=
Click for copyable input
Out[2]=

Return the from inside each matched:

In[1]:=
Click for copyable input
Out[1]=
New in 1 | Last modified in 5
New to Mathematica? Find your learning path »
Have a question? Ask support »