How to | Work with Nested Lists

Nested lists are lists within a list; they are the principal structure for data in the Wolfram Language and allow for high-dimension arrays and ragged datasets as well as common uses such as matrices.

Create a list of lists to work with:

In[1]:=
Click for copyable input
Out[1]=

Matrices in the Wolfram Language are represented as nested lists. Note that each row corresponds to a sublist in the nested list:

In[2]:=
Click for copyable input
Out[2]//MatrixForm=

Use , the short form of the Part function, to get the second row:

In[3]:=
Click for copyable input
Out[3]=

From row 2, get element 3:

In[4]:=
Click for copyable input
Out[4]=

Get element 3 from each row:

In[5]:=
Click for copyable input
Out[5]=

Use Flatten to remove the nesting:

In[6]:=
Click for copyable input
Out[6]=

Display the flattened data as a column:

In[7]:=
Click for copyable input
Out[7]//MatrixForm=

For comparison, to display the flattened data as a row, add :

In[8]:=
Click for copyable input
Out[8]//MatrixForm=
    

You can operate on the individual sublists of a nested list or on the nested list as a whole.

Set up a dataset:

In[1]:=
Click for copyable input
Out[1]=
In[2]:=
Click for copyable input
Out[2]//MatrixForm=

Most functions map over each sublist within a nested list.

Create four plots from the rows in the dataset:

In[3]:=
Click for copyable input
Out[3]=

Most descriptive statistics functions operate by columns.

Take the mean by column:

In[4]:=
Click for copyable input
Out[4]=

Get the mean of all the numbers by flattening the list:

In[5]:=
Click for copyable input
Out[5]=
    

Create a doubly nested list:

In[1]:=
Click for copyable input
Out[1]//MatrixForm=

Mean now lists the means by each individual nested sublist:

In[2]:=
Click for copyable input
Out[2]//MatrixForm=

Use Flatten to obtain the mean of the entire dataset:

In[3]:=
Click for copyable input
Out[3]=