# How to assign the values for the Table list?

Now, I want to assign some values for a Table list and I find that

If

 {mat[1], mat[2], mat[3], mat[4], mat[5]}={4,23,3,12,1};


it is no problem. But, if we use

  Table[mat[n],{n,1,5}]={4,23,3,12,1};


It doesn't work. Why ? Thanks.

• This question has been asked several times before. Please help me in finding an appropriate duplicate and voting to close. Feb 3 '15 at 9:18
• Related: (280), (2033), (6511), (10322), (24495), (24557), (40094) Feb 3 '15 at 9:18

You should evaluate the left-hand side first.

Evaluate[Table[mat[n], {n, 5}]] = {4, 23, 3, 12, 1}


Another possible way:

With[{values = {4, 23, 3, 12, 1}},
Do[mat[n] = values[[n]], {n, 5}]]

• The first method will not work the second time. The second will, however. +1 Feb 3 '15 at 9:19

You must tell the kernel to evaluate the left hand side before invoking Set Try this:

Evaluate[Table[mat[n],{n,1,5}]]={4,23,3,12,1};

• Be aware that this will not work the second time. Feb 3 '15 at 9:19
• Well then, do it right the first time around :-) Feb 3 '15 at 9:23