# 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 the Wolfram Language using Apply.

This makes each element of the list an argument of the function f:
 In:= Out= This gives Times[a,b,c] which yields the product of the elements in the list:
 In:= Out= Here is a definition of a function that works like the built-in function GeometricMean, written using Apply:
 In:= Apply[f,{a,b,…}] apply f to a list, giving Null Apply[f,expr] or f@@expr apply f to the top level of an expression Apply[f,expr,{1}] or f@@@expr apply f at the first level in an expression Apply[f,expr,lev] apply f at the specified levels in an expression

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:= Out= Here is a matrix:
 In:= Out= Using Apply without an explicit level specification replaces the toplevel list with f:
 In:= Out= This applies f only to parts of m at level 1:
 In:= Out= This applies f at levels 0 through 1:
 In:= Out= 