# Collecting Objects Together

We first encountered lists in "Making Lists of Objects" as a way of collecting numbers together. Here, we shall see many different ways to use lists. You will find that lists are some of the most flexible and powerful objects in the Wolfram Language. You will see that lists in the Wolfram Language represent generalizations of several standard concepts in mathematics and computer science.

At a basic level, what a Wolfram Language list essentially does is to provide a way for you to collect together several expressions of any kind.

Here is a list of numbers:
 In[1]:=
 Out[1]=
This gives a list of symbolic expressions:
 In[2]:=
 Out[2]=
You can differentiate these expressions:
 In[3]:=
 Out[3]=
And then you can find values when x is replaced with 3:
 In[4]:=
 Out[4]=

The mathematical functions that are built into the Wolfram Language are mostly set up to be "listable" so that they act separately on each element of a list. This is, however, not true of all functions in the Wolfram Language. Unless you set it up specially, a new function f that you introduce will treat lists just as single objects. "Applying Functions to Parts of Expressions" and "Structural Operations" will describe how you can use Map and Thread to apply a function like this separately to each element in a list.