wolfram-mathematica - Mathematica 7 中列表之间的多重赋值

标签 wolfram-mathematica

假设有两个列表 a = {a1, a2, a3}b = {b1, b2, b3} ,我想写一个赋值语句来使 a1=b1,a2=b2,a3=b3 只引用 ab :

Thread[a = b]

但它只会使 a={b1,b2,b3} 。使用 := (SetDelayed) 而不是 = 也不起作用。
有什么解决办法吗?谢谢。

最佳答案

我认为 Thread 仅适用于“显式”列表;变量需要在操作之前进行扩展。

经过一些实验,这对我有用:

a = {a1, a2, a3};
b = {b1, b2, b3};
线程[Set[Evaluate@a, Evaluate@b]];
{a1, a2, a3}

你也可以写 Thread[Evaluate@a = Evaluate@b] ;只取决于你觉得哪个更具可读性。

关于wolfram-mathematica - Mathematica 7 中列表之间的多重赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1653707/

相关文章:

wolfram-mathematica - 将坐标列表从Mathematica导出到Matlab的最佳格式是什么?

wolfram-mathematica - 如何在使用 DeleteCases 时删除额外的 {}

pattern-matching - Mathematica 中使用模式匹配的填字游戏

wolfram-mathematica - 在 Mathematica 中以明确可见的形式显示

layout - 通过 GraphicsColumn 在 Mathematica 中垂直对齐绘图

wolfram-mathematica - 如何在 InputStream 上执行 Get?

graphics - 适合笔记本宽度 Mathematica 中的 ImageSize

wolfram-mathematica - 给定两个数据列表,mathematica 中的数值积分

wolfram-mathematica - 操作,列表中的复选框

wolfram-mathematica - 在 Mathematica 中保留未评估的选项值