在列表中替换

时间:2017-03-31 01:02:03

标签: maxima

我将举例说明我的问题:我有一个list1:[x*y*z,x*z,y]形式的列表。现在我有另一个列表list2:[1,2,3]。我尝试做的是将值list2[1](即1)替换为list1的x变量,将值list2[2]替换为{{1}的y变量}}, 等等。输出应为list1[1*2*3,1*3,2]。请注意,两个列表的长度相同。

我试图做的是:

[6,3,2]

但它没有用。我怎样才能做到这一点?

提前致谢,

最好的问候。

1 个答案:

答案 0 :(得分:1)

(%i1) list1: [x*y*z,x*z,y] $
(%i2) kk: ['x, 'y, 'z] $
(%i3) vv: [ 1,  2,  3] $
(%i4) sl: maplist(lambda([k, v], k = v), kk, vv) $
(%i5) subst(sl, list1);
(%o5)                              [6, 3, 2]