# Table

Table[expr,n]

generates a list of n copies of expr.

Table[expr,{i,imax}]

generates a list of the values of expr when i runs from 1 to imax.

Table[expr,{i,imin,imax}]

starts with i=imin.

Table[expr,{i,imin,imax,di}]

uses steps di.

Table[expr,{i,{i1,i2,}}]

uses the successive values i1, i2, .

Table[expr,{i,imin,imax},{j,jmin,jmax},]

gives a nested list. The list associated with i is outermost. »

# Details • You can use Table to build up vectors, matrices, tensors, and other arrays.
• Table uses the standard Wolfram Language iteration specification.
• Table evaluates its arguments in a nonstandard way.
• Table[expr,spec] first evaluates spec, then localizes the variable specified and successively assigns values to it, each time evaluating expr.
• Table effectively uses Block to localize values or variables.
• Table[expr,spec1,spec2] is effectively equivalent to Table[Table[expr,spec2],spec1].

# Examples

open allclose all

## Basic Examples(6)

A table of the first 10 squares:

A table with running from 0 to 20 in steps of 2:

A list of 10 's:

Make a 4×3 matrix:

Plot a table:

Arrange a table in a column:

## Scope(6)

The index in the table can run backward:

Make a triangular array:

Make a 3×2×4 array, or tensor:

Iterate over an existing list:

Make an array from existing lists:

Table evaluates the expression separately each time:

## Generalizations & Extensions(2)

The table index can have symbolic values:

The variables need not just be symbols:

## Applications(4)

Make a table of graphics:

Generate the corners of a polygon:

Make Pascal's triangle:

Compare font sizes from 10 points to 20 points:

## Properties & Relations(13)

### Display of Tables(5)

Use ListPlot, ListLinePlot and similar functions to visualize numeric tables:

Use Grid to format a two-dimensional table:

Two-dimensional numeric tables can be visualized with ArrayPlot and MatrixPlot:

Print the values of the table index while the table is being generated:   Monitor the values by showing them in a temporary cell:

### Relations to Other Functions(5)

Range gives the sequence of values of a table iterator:

Do evaluates the same sequence of expressions as Table, but does not return them:   Sum effectively applies Plus to results from Table:

Array iterates over successive integers:

Map applies a function to successive elements in a list:

Table can substitute successive elements in a list into an expression:

### Nested Tables(1)

Using multiple iteration specifications is equivalent to nesting Table functions:

### Programmatic Table Construction(2)

Feed in parameters for tables:

Use Apply to splice a complete iterator specification into Table:

With can insert the specification for a single iterator:

## Possible Issues(6)

For some step sizes, output from Table may not include the upper limit given:

Table requires list iterator specifications to be given explicitly: Forcing early evaluation of the list resolves the issue:

Alternatively, using With to lexically replace p with its list form:

Table normally reevaluates at each step:

The Evaluate is needed to force evaluation of the table before it is fed to Plot:

Compare with:

Values of Table variables do not get substituted inside held expressions:

Use With to insert values:

Formatting wrappers such as Grid give expressions that are no longer lists: