找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 214|回复: 4
打印 上一主题 下一主题

请问怎么单独修改list中一个元素的值?

[复制链接]

70

主题

197

帖子

1171

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1171
跳转到指定楼层
1#
发表于 2014-12-19 16:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您!

您需要 登录 才可以下载或查看,没有帐号?注册

x
如题,例如:a=list(1 3 4 5 6),想把第3个元素“4“修改为10。最好上直接修改。请问有方法吗?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏1 支持!支持! 反对!反对!

117

主题

2352

帖子

1万

积分

EDA365特邀版主

Rank: 6Rank: 6

积分
13799

最佳敬业奖

2#
发表于 2014-12-19 16:37 | 只看该作者
subst(10 4 a)

70

主题

197

帖子

1171

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1171
3#
 楼主| 发表于 2014-12-20 08:49 | 只看该作者

好使,谢谢!

70

主题

197

帖子

1171

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1171
4#
 楼主| 发表于 2014-12-22 10:22 | 只看该作者

版主,这样不对啊,这样是吧所有的4都换成10了,我希望是换第3个元素。有办法没?

117

主题

2352

帖子

1万

积分

EDA365特邀版主

Rank: 6Rank: 6

积分
13799

最佳敬业奖

5#
发表于 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函数来实现,先暂存前面两个元素的值,替换后合并回去。

谁画出这天地 又画下我和你
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2025-2-24 06:05 , Processed in 0.055917 second(s), 32 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表