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 Heads->True.
- 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 Heads->True, FirstPosition includes heads of expressions and their parts.
- FirstPosition traverses expressions in depth‐first order.
- FirstPosition[pattern][expr] is equivalent to FirstPosition[expr,pattern].
Examples
open allclose allBasic Examples (3)
Find the first position at which b occurs:
Find the first position at which x to any power appears:
Find the first position in an Association:
Scope (4)
Options (1)
Heads (1)
By default, FirstPosition will search expression heads:
Properties & Relations (3)
The default value is only evaluated if needed:
Use Extract to extract parts based on results from FirstPosition:
FirstPosition returns only the first position:
Position returns all positions:
FirstPosition can be implemented with a combination of Position and Replace:
Possible Issues (1)
FirstPosition searches based on patterns, which may not be the same as numerical equality:
Write a pattern using Condition to force searching based on numerical equality:
Text
Wolfram Research (2014), FirstPosition, Wolfram Language function, https://reference.wolfram.com/language/ref/FirstPosition.html.
CMS
Wolfram Language. 2014. "FirstPosition." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/FirstPosition.html.
APA
Wolfram Language. (2014). FirstPosition. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/FirstPosition.html