SelectFirst
SelectFirst[data,crit]
gives the first ei of data for which crit[ei] is True, or Missing["NotFound"] if none is found.
SelectFirst[data,critprop]
returns the property prop of the selected elements.
SelectFirst[data,crit,default]
gives default if there is no ei of data such that crit[ei] is True.
SelectFirst[crit]
represents an operator form of SelectFirst that can be applied to an expression.
Details
- SelectFirst keeps the first element for which the given criterion crit is True:
- SelectFirst[data,crit] is equivalent to First[Select[data,crit]].
- The data can have the following additional forms and interpretations:
-
{e1,e2,…} list of values » f[e1,e2,…] any head f » Association association of values » QuantityArray[…] quantity array or other structured array Tabular[…] type-consistent tabular data » TabularColumn[…] type-consistent column data » Dataset[…] general hierarchical data - The property prop can have the following forms and interpretations:
-
"Element" the selected values » "Index" indices of the selected values » "BitVectorMask" Boolean mask returning True for slected values and False otherwise » {prop1,prop2,…} a list of multiple forms » All an association giving element, index and bit vector mask » - In SelectFirst[data,crit,default], default is only evaluated if there is no ei in data such that crit[ei] is True.
- SelectFirst[crit][data] is equivalent to SelectFirst[data,crit].
Examples
open allclose allBasic Examples (6)
Select the first element that is even:
Return the index of the selected element:
Give the default x when no even numbers are found:
Use the operator form of SelectFirst:
SelectFirst operates on values in an Association:
Use SelectFirst with a Tabular object:
Scope (15)
Basic Uses (5)
Find the first pair containing x:
Use a pure function to test elements:
Use an operator form as selection criterion:
Use SelectFirst in operator form:
Input Data (5)
SelectFirst works with any head, not just List:
SelectFirst works on values in Association:
SelectFirst works with vector SparseArray objects:
SelectFirst works with TabularColumn objects:
Select the first date in November:
Use SelectFirst on a Tabular object with named columns:
Select the first row with last column date being a business day:
Applications (7)
Select the first number between 9 and 99 that equals 1 modulo both 3 and 5:
Select the first 4-tuple that reads the same in reverse:
Find the first 3×3 matrix of 0s and 1s that has determinant 1:
Select an eigenvalue that lies within the unit circle:
Find the first built-in Wolfram Language object whose name is at least 36 characters long:
Select the first numeric quantity from a product:
Find the position of the first prime in a random sample from a PoissonDistribution:
Properties & Relations (4)
The default value is only evaluated if needed:
SelectFirst returns only the first match:
Select returns all matches:
SelectFirst can be implemented with a combination of Select and Replace:
SelectFirst is similar to FirstCase except that it uses a function instead of a pattern:
Select the first list that has a sum of elements less than 10:
Use FirstCase to get the same result:
Text
Wolfram Research (2014), SelectFirst, Wolfram Language function, https://reference.wolfram.com/language/ref/SelectFirst.html (updated 2025).
CMS
Wolfram Language. 2014. "SelectFirst." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2025. https://reference.wolfram.com/language/ref/SelectFirst.html.
APA
Wolfram Language. (2014). SelectFirst. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/SelectFirst.html