# Cases

Cases[{e1,e2,},pattern]

gives a list of the ei that match the pattern.

Cases[{e1,},patternrhs]

gives a list of the values of rhs corresponding to the ei 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,patternrhs,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.

Cases[pattern]

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

# Details and Options

• The first argument to Cases need not have head List.
• When used on an Association, Cases picks out elements according to their values.
• Cases[expr,pattern:>rhs] evaluates rhs only when the pattern is found.
• Cases[pattern][list] is equivalent to Cases[list,pattern].
• Cases uses standard level specifications:
•  n levels 1 through n Infinity levels 1 through Infinity {n} level n only {n1,n2} levels n1 through n2
• The default value for levelspec in Cases is {1}.
• 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 -1 consists of numbers, symbols, and other objects that do not have subparts.
• Level 0 corresponds to the whole expression.
• With the option setting , 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.

# Examples

open allclose all

## Basic Examples(4)

Find cases that explicitly match integers:

 In[1]:=
 Out[1]=

Find cases that do not match integers:

 In[2]:=
 Out[2]=

Return the x from inside each f[x_] matched:

 In[1]:=
 Out[1]=

Use the operator form of Cases:

 In[1]:=
 Out[1]=

Pick elements from an Association:

 In[1]:=
 Out[1]=