本帖最后由 llsheng_73 于 2022-7-22 11:04 编辑
基于vl-position的扩展-任意元素在表中所有出现位置、表中各元素所有出现位置
http://bbs.mjtd.com/forum.php?mo ... &fromuid=202795
 - (defun mposition(lst ens / n);;;列出ens表内各个元素的lst中所有出现位置
- (setq n(length lst))
- (mapcar(function(lambda(x / i l l1)
- (setq l lst)
- (while(setq i(vl-position x l))
- (setq l1(cons(+ i n(-(length l)))l1)
- l(nthcdr(1+ i)l)))
- (reverse l1)))ens))
(mposition'(2 5 6.6 5 8.982 7 2.3 7 3.4 6 8.982 5 6 1.6 9 3.4 2 3 7 8.5 8.982 9)'(2 7))
((0 16) (5 7 18))
|