FirstPosition

FirstPosition[expr,pattern]

gives the position of the first element in expr that matches pattern, or Missing["NotFound"] if no such element is found.

FirstPosition[expr,pattern,default]

gives default if no element matching pattern is found.

FirstPosition[expr,pattern,default,levelspec]

finds only objects that appear on levels specified by levelspec.

FirstPosition[pattern]

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

Details and Options

• In FirstPosition[expr,pattern,default], default is evaluated only if no element matching pattern is found.
• The expression expr can be a list, an association, or any other type of expression. In the case of an association, FirstPosition gives a key.
• The default level specification for FirstPosition is {0,Infinity}, with .
• A part specification {} returned by FirstPosition represents the whole of expr.
• FirstPosition[list,pattern,default,{1},Heads->False] finds positions only of objects that appear as complete elements of list.
• FirstPosition uses standard level specifications:
•  n levels 1 through n Infinity levels 1 through Infinity {n} level n only {n1,n2} levels n1 through n2
• 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 0 corresponds to the whole expression.
• With the default option setting , FirstPosition includes heads of expressions and their parts.
• FirstPosition traverses expressions in depthfirst order.
• FirstPosition[pattern][expr] is equivalent to FirstPosition[expr,pattern].

Examples

open allclose all

Basic Examples(3)

Find the first position at which b occurs:

 In[1]:=
 Out[1]=
 In[2]:=
 Out[2]=
 In[3]:=
 Out[3]=

Find the first position at which x to any power appears:

 In[1]:=
 Out[1]=

Find the first position in an Association:

 In[1]:=
 Out[1]=