Wolfram mathematica 在循环中命名多个变量
第一次在这里问问题。我试图在Mathematica中创建多个变量,除了后面的数字之外,所有变量都具有相同的名称。例如,如果我使用的列表有7个成员,它将生成变量:member1、member2、member3、member4等等。如果这还不清楚,我在下面留下了一个例子,说明我希望它能起到什么作用。希望这是一个简单的解决方案Wolfram mathematica 在循环中命名多个变量,wolfram-mathematica,Wolfram Mathematica,第一次在这里问问题。我试图在Mathematica中创建多个变量,除了后面的数字之外,所有变量都具有相同的名称。例如,如果我使用的列表有7个成员,它将生成变量:member1、member2、member3、member4等等。如果这还不清楚,我在下面留下了一个例子,说明我希望它能起到什么作用。希望这是一个简单的解决方案 list = {1,2,3,4,5} For[i = 1, i < 6, i++, member[i] = list[i] ] list={1,2,3,4,5} 对于
list = {1,2,3,4,5}
For[i = 1, i < 6, i++,
member[i] = list[i]
]
list={1,2,3,4,5}
对于[i=1,i<6,i++,
成员[i]=名单[i]
]
试试这个
list = {1, 2, 3, 4, 5};
For[i = 1, i < 6, i++,
ToExpression["member"<>ToString[i]<>"="<>ToString[list[[i]]]]]
这将显示member3已被分配值3
这是创建一个字符串,然后将其作为一行代码进行求值。您可以将
符号
与求值一起使用
list = {1, 2, 3, 4, 5};
For[i = 1, i < 6, i++,
Evaluate[Symbol["member" <> ToString[i]]] = list[[i]]
]
member3
以及清除预先存在的值的版本
Array[(With[{x = "member" <> ToString[#]},
Clear[x];
Evaluate[Symbol[x]] = list[[#]]]) &, Length[list]]
Array[(带[{x=“member”ToString[#]},
清除[x];
评估[Symbol[x]=list[#]]]&,长度[list]]
这个问题更适合mathematica.stackexchange。没有回答您的问题吗?如果list={1,2,3,4,5}
此方法将设置为不保留字符串类型。@ChrisDengen我完全同意您的评论,如果您更改要求的内容,则通常必须更改答案。在Mathematica中,几乎总是有十几种不同的方法来做任何事情,其中至少有几种方法对新用户提出非常简单的问题几乎毫无意义。。
Array[(Evaluate[Symbol["member" <> ToString[#]]] = list[[#]]) &, Length[list]]
Array[(With[{x = "member" <> ToString[#]},
Clear[x];
Evaluate[Symbol[x]] = list[[#]]]) &, Length[list]]