This is documentation for Mathematica 3, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.2)
 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}]