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 »
    Associationassociation 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 »
    Allan 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 all

Basic 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:

Use a custom default value:

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:

Property Forms (5)

Return the selected element:

Return the index of the selected element:

Return the Boolean mask of the data:

Return two forms:

Return the association with all the properties:

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:

Find the distribution of positions of first primes:

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:

Possible Issues  (1)

The head of the input expression is not preserved:

Wolfram Research (2014), SelectFirst, Wolfram Language function, https://reference.wolfram.com/language/ref/SelectFirst.html (updated 2025).

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

BibTeX

@misc{reference.wolfram_2024_selectfirst, author="Wolfram Research", title="{SelectFirst}", year="2025", howpublished="\url{https://reference.wolfram.com/language/ref/SelectFirst.html}", note=[Accessed: 17-January-2025 ]}

BibLaTeX

@online{reference.wolfram_2024_selectfirst, organization={Wolfram Research}, title={SelectFirst}, year={2025}, url={https://reference.wolfram.com/language/ref/SelectFirst.html}, note=[Accessed: 17-January-2025 ]}