Name a list with Table
Clear[first, second, third]
names = {first, second, third}
numbers = {{1, 1}, {2, 2}, {3, 3}}
Table[Evaluate[names[[i]]] = numbers[[i]], {i, 3}]
first
second
third
Clear[first, second, third]
names = {first, second, third};
numbers = {{1, 1}, {2, 2}, {3, 3}};
With[{names = names}, names = numbers];
first
{1, 1}
With the following definitions:
Clear[first, second, third]
names = {first, second, third}
numbers = {{1, 1}, {2, 2}, {3, 3}}
a one-liner approach would be:
Evaluate@names = numbers
You can see how this works using Trace:
Clear[first, second, third]
names = {first, second, third}
numbers = {{1, 1}, {2, 2}, {3, 3}}
Trace[Evaluate@names = numbers]
(* Out:
{{names, {first, second, third}},
{numbers, {{1, 1}, {2, 2}, {3, 3}}},
{first, second, third} = {{1, 1}, {2, 2}, {3, 3}},
{{1, 1}, {2, 2}, {3, 3}}} *)