# Apply

Apply[f,expr]

or f@@expr replaces the head of expr by f.

Apply[f,expr,{1}]

or f@@@expr replaces heads at level 1 of expr by f.

Apply[f,expr,levelspec]

replaces heads in parts of expr specified by levelspec.

Apply[f]

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

# Details and Options

• Apply 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 Apply is {0}.
• f@@@expr is equivalent to Apply[f,expr,{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.
• Apply always effectively constructs a complete new expression and then evaluates it.
• Apply operates on SparseArray objects just as it would on the corresponding ordinary lists.
• Apply operates on values only in Association objects.
• Apply[f][expr] is equivalent to Apply[f,expr].

# Examples

open allclose all

## Basic Examples(7)

 In[1]:=
 Out[1]=
 In[2]:=
 Out[2]=
 In[3]:=
 Out[3]=

Apply gets rid of a level of lists:

 In[1]:=
 Out[1]=

Use the operator form of Apply:

 In[1]:=
 Out[1]=

Applying f to an Association keeps only values:

 In[1]:=
 Out[1]=

Applying a List to an Association is equivalent to Values:

 In[1]:=
 Out[1]=
 In[2]:=
 Out[2]=

Apply f at the second level:

 In[1]:=
 Out[1]=

Apply f at several levels:

 In[1]:=
 Out[1]=