This is documentation for Mathematica 5, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.1)

Documentation / Mathematica / The Mathematica Book / Principles of Mathematica / Functional Operations /

2.2.3 Applying Functions to Lists and Other Expressions

In an expression like f[{a, b, c}] you are giving a list as the argument to a function. Often you need instead to apply a function directly to the elements of a list, rather than to the list as a whole. You can do this in Mathematica using Apply.

This makes each element of the list an argument of the function f.

In[1]:= Apply[f, {a, b, c}]


This gives Plus[a, b, c] which yields the sum of the elements in the list.

In[2]:= Apply[Plus, {a, b, c}]


Here is the definition of the statistical mean, written using Apply.

In[3]:= mean[list_] := Apply[Plus, list] / Length[list]

Applying functions to lists and other expressions.

What Apply does in general is to replace the head of an expression with the function you specify. Here it replaces Plus by List.

In[4]:= Apply[List, a + b + c]


Here is a matrix.

In[5]:= m = {{a, b, c}, {b, c, d}}


Using Apply without an explicit level specification replaces the top-level list with f.

In[6]:= Apply[f, m]


This applies f only to parts of m at level 1.

In[7]:= Apply[f, m, {1}]


This applies f at levels 0 through 1.

In[8]:= Apply[f, m, {0, 1}]