asdfxx 发表于 2009-7-28 08:37:00

caoyin 发表于 2009-7-28 12:43:00

<p>(defun test (lst / a lst2)<br/>&nbsp; (while (setq a (car lst))<br/>&nbsp;&nbsp;&nbsp; (setq lst (cdr lst))<br/>&nbsp;&nbsp;&nbsp; (while (= (car lst) a)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq lst (cdr lst))<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp; (setq lst2 (cons a lst2))<br/>&nbsp; )<br/>&nbsp; (reverse lst2)<br/>)</p><p>(test '(a b c c c d c o))</p>

狂刀无痕 发表于 2009-7-29 00:00:00

(defun test (lst / ll)
(setq ll(list(car lst)))
(mapcar'(lambda(x)(if(not(equal x (car ll)))(setq ll(cons x ll)))) lst)
(reverse ll)
)

yoyoho 发表于 2009-7-29 11:20:00

caoyin发表于2009-7-28 12:43:00static/image/common/back.gif(defun test (lst / a lst2)&nbsp; (while (setq a (car lst))&nbsp;&nbsp;&nbsp; (setq lst (cdr lst))&nbsp;&nbsp;&nbsp; (while (= (car lst) a)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq lst

<p>&nbsp;(test '(a b c c c d c o))<br/>测试结果 (A B C D C O)</p>

yoyoho 发表于 2009-7-29 11:27:00

以下是引用狂刀无痕在2009-7-29的发言:(defun test (lst / ll)
(setq ll(list(car lst)))
(mapcar'(lambda(x)(if(not(equal x (car ll)))(setq ll(cons x ll)))) lst)
(reverse ll)
)(test '(a b c c c d c o))
测试结果 (A B C D C O)

ocoipw 发表于 2015-2-2 03:09:47

caoyin 发表于 2009-7-27 17:24 static/image/common/back.gif
(defun&nbsp;test (lst / a lst2)&nbsp; (while (setq a (car lst) lst2 (cons a lst2) lst (vl-remove a l ...

程序很有用,构思很巧妙。谢谢!!
页: 1 [2]
查看完整版本: 怎么删掉表中连续相同的元素,谢谢