当前位置:  开发笔记 > 编程语言 > 正文

Mathematica 7中列表之间的多个赋值

如何解决《Mathematica7中列表之间的多个赋值》经验,为你挑选了1个好方法。

假设有两个列表a = {a1, a2, a3},并b = {b1, b2, b3}和我想写一个赋值语句,使a1=b1,a2=b2,a3=b3这只是指ab:

Thread[a = b]

但它只会使a={b1,b2,b3}.使用:=(SetDelayed)代替=不起作用.
有解决方案吗 谢谢.



1> Will Roberts..:

我认为Thread唯一适用于"明确"的清单; 在操作之前需要扩展变量.

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

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

你也可以写Thread[Evaluate@a = Evaluate@b]; 只是取决于你发现哪些更具可读性.

推荐阅读
喜生-Da
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有