EDA365电子工程师网

标题: 请问怎么单独修改list中一个元素的值? [打印本页]

作者: chuchiwolong    时间: 2014-12-19 16:25
标题: 请问怎么单独修改list中一个元素的值?
如题,例如:a=list(1 3 4 5 6),想把第3个元素“4“修改为10。最好上直接修改。请问有方法吗?

作者: deargds    时间: 2014-12-19 16:37
subst(10 4 a)
作者: chuchiwolong    时间: 2014-12-20 08:49
deargds 发表于 2014-12-19 16:37
subst(10 4 a)

好使,谢谢!

作者: chuchiwolong    时间: 2014-12-22 10:22
deargds 发表于 2014-12-19 16:37
subst(10 4 a)

版主,这样不对啊,这样是吧所有的4都换成10了,我希望是换第3个元素。有办法没?
作者: deargds    时间: 2014-12-22 14:05
chuchiwolong 发表于 2014-12-22 10:22
版主,这样不对啊,这样是吧所有的4都换成10了,我希望是换第3个元素。有办法没?

试下这个方法
  1.         a = list(1 3 4 5 6)
  2.         i = 1
  3.         b = mapcan(lambda((p) if(i++ == 3 then list(10) else list(p))) a)
复制代码
另外也可以使用rplaca函数来实现,先暂存前面两个元素的值,替换后合并回去。






欢迎光临 EDA365电子工程师网 (https://bbs.elecnest.cn/) Powered by Discuz! X3.2