# Count

Count[list,pattern]

gives the number of elements in list that match pattern.

Count[expr,pattern,levelspec]

gives the total number of subexpressions matching pattern that appear at the levels in expr specified by levelspec.

Count[pattern]

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

# Details and Options

• The first argument to Count need not have head List.
• When used on an Association, Count tests only the values of elements, not their keys.
• Count 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 Count 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 , Count looks at heads of expressions and their parts.
• Count[pattern][expr] is equivalent to Count[expr,pattern].
• Parallelize[Count[list,pattern]] computes Count[list,pattern] in parallel on all subkernels. »

# Examples

open allclose all

## Basic Examples(4)

Count how many times b occurs:

Count powers of x in an Association:

Count powers of x on all levels:

Count symbols:

## Scope(5)

Count works with patterns:

Count the number of elements not matching b:

Count occurrences of b down to level 2:

Count occurrences at level 2 only:

Count all numeric expressions appearing as part of a larger expression:

A numeric level specification does not include level zero:

Use a two-element list to explicitly include level zero:

## Generalizations & Extensions(1)

Count works with any head, not just List:

## Options(1)

By default, expressions appearing as heads are not counted:

Use the option to include them:

## Applications(3)

Count the total number of symbols in an expression:

Count the total number of elements greater than 0.5:

Count the number of rows whose first element is 1:

## Properties & Relations(5)

Count returns the length of the result given by Cases:

Count returns the length of the result given by Position:

A count at level {0} is effectively a numericized version of MatchQ:

For most expressions, LeafCount equals the count matching Blank[] at level {-1}:

Count treats Rational and Complex as atoms:

LeafCount counts Rational and Complex numbers using their FullForm:

Compute Count in parallel:

## Possible Issues(1)

Count looks for matches based on patterns, which may not be the same as numerical equality:

Write a pattern using Condition to force searching based on numerical equality:

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

#### Text

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

#### CMS

Wolfram Language. 1988. "Count." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2014. https://reference.wolfram.com/language/ref/Count.html.

#### APA

Wolfram Language. (1988). Count. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Count.html

#### BibTeX

@misc{reference.wolfram_2024_count, author="Wolfram Research", title="{Count}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/Count.html}", note=[Accessed: 06-August-2024 ]}

#### BibLaTeX

@online{reference.wolfram_2024_count, organization={Wolfram Research}, title={Count}, year={2014}, url={https://reference.wolfram.com/language/ref/Count.html}, note=[Accessed: 06-August-2024 ]}