循环命名多个变量

时间:2018-08-06 06:28:38

标签: wolfram-mathematica

第一次在这里提问。我试图在Mathematica中使多个变量具有相同的名称,但后面的数字除外。例如,如果我使用的列表有7个成员,它将创建变量:member1,member2,member3,member4,依此类推。如果不清楚,我在下面留下了一个我希望它如何工作的示例。希望这是一个简单的解决方案!

list = {1,2,3,4,5}

For[i = 1, i < 6, i++,
member[i] = list[i]
]

2 个答案:

答案 0 :(得分:1)

尝试一下

list = {1, 2, 3, 4, 5};
For[i = 1, i < 6, i++,
  ToExpression["member"<>ToString[i]<>"="<>ToString[list[[i]]]]]

之后

?member3

这应该向您显示member3的值已分配为3

这是创建一个字符串,然后将其评估为一行代码。

答案 1 :(得分:0)

您可以将ITEM_ALREADY_OWNED int ITEM_ALREADY_OWNED Failure to purchase since item is already owned Symbol一起使用。

Evaluate
  

3

或者,使用list = {1, 2, 3, 4, 5}; For[i = 1, i < 6, i++, Evaluate[Symbol["member" <> ToString[i]]] = list[[i]] ] member3 代替Array

For

还有一个清除先前值的版本。​​

Array[(Evaluate[Symbol["member" <> ToString[#]]] = list[[#]]) &, Length[list]]