找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 605|回复: 1

[求助] [求助]:有在表的指定位置替换元素的函数吗

[复制链接]
发表于 2005-4-2 17:57:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
如下表 ,我想把表num1的第4个元素5.0替换为3.2,该用什么方法
(setq list1 (list 5.0 78.0 62.1 5.0 22.0))
我用SUBST函数
(subst 3.2 (nth 3 list1) list1)
得到的结果是
'(3.2 78.0 62.1 3.2 22.0)
不是我想要的表 '(5.0 78.0 62.1 3.2 22.0)
还有就是怎么在list1的第2元素78.0和第3个元素62.1之间插入一个元素5.8
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-4-2 18:34:10 | 显示全部楼层
(defun hy_ijlist(lst i J / APLIST);;;取得列表從i開始以后j數量的片段表如果j為nil則取出i以后的列表從0開始
  (setq aplist '())
  (if (= j nil)
      (repeat (+ i 1)
      (setq lst (cdr lst))
      (setq aplist lst))
      (progn
      (repeat j
      (setq aplist (cons (nth i lst) aplist))
        (setq i (1+ i))
        )
      (setq aplist (reverse aplist))
      )
    )
  aplist
  )
假设你要替换LIST1第N项,新项为ITEM;;N从1开始计算
(SETQ LIST1 (append (hy_ijlist LIST1 0 (- n 2)) (list item) (hy_ijlist LIST1 n nil)))
就可以拉
如果你是要在第N和第N+1项中插一项item,
(setq list1 (append (hy_ijlist LIST1 0 (- n 1)) (list item)(hy_ijlist LIST1 n nil)))
其实如果你有AP-AI函数库的话里面有一个AP-SET-NTH
函数可以替换列表中的子项(AP-SET-NTH N LISTT ITEM)
N为需要替换的项,ITEM为新项,LISTT为需要操作的列表
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-28 02:27 , Processed in 0.165825 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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