# Building Lists from Functions

 Array[f,n] generate a length n list of the form {f[1],f[2],…} Array[f,{n1,n2,…}] generate an n1×n2×… nested list, each of whose entries consists of f applied to its indices NestList[f,x,n] generate a list of the form {x,f[x],f[f[x]],…}, where f is nested up to n deep FoldList[f,x,{a,b,…}] generate a list of the form {x,f[x,a],f[f[x,a],b],…} ComposeList[{f1,f2,…},x] generate a list of the form {x,f1[x],f2[f1[x]],…}

Making lists from functions.

This makes a list of 5 elements, each of the form p[i].
 In[1]:=
 Out[1]=
Here is another way to produce the same list.
 In[2]:=
 Out[2]=
This produces a list whose elements are .
 In[3]:=
 Out[3]=
This generates a 2×3 matrix whose entries are m[i,j].
 In[4]:=
 Out[4]=
This generates a 3×3 matrix whose elements are the squares of the sums of their indices.
 In[5]:=
 Out[5]=

NestList and FoldList were discussed in "Applying Functions Repeatedly". Particularly by using them with pure functions, you can construct some very elegant and efficient Wolfram Language programs.

This gives a list of results obtained by successively differentiating with respect to .
 In[6]:=
 Out[6]=