Building Lists from Functions
| Array[f,n] | generate a length n list of the form  |
| Array[f,{n1,n2,...}] | generate an × ×... nested list, each of whose entries consists of f applied to its indices |
| NestList[f,x,n] | generate a list of the form , where f is nested up to n deep |
| FoldList[f,x,{a,b,...}] | generate a list of the form  |
| ComposeList[{f1,f2,...},x] | generate a list of the form  |
Making lists from functions.
This makes a list of 5 elements, each of the form
p[i].
| Out[1]= |  |
Here is another way to produce the same list.
| Out[2]= |  |
This produces a list whose elements are

.
| Out[3]= |  |
This generates a 2×3 matrix whose entries are

.
| Out[4]= |  |
This generates a 3×3 matrix whose elements are the squares of the sums of their indices.
| 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
Mathematica programs.
This gives a list of results obtained by successively differentiating

with respect to

.
| Out[6]= |  |