如何在LISP中将列表中的元素移动到列表的前面
我试图检查一个单词是否是列表中的一个元素。如果不是,则将该单词添加到列表的前面,但如果是,则将该单词移动到列表的前面。如果单词不在列表中,我可以将其添加到列表中,但是如果元素已经在列表中,我不知道如何将其移动到列表的前面。这是我的密码:如何在LISP中将列表中的元素移动到列表的前面,lisp,common-lisp,Lisp,Common Lisp,我试图检查一个单词是否是列表中的一个元素。如果不是,则将该单词添加到列表的前面,但如果是,则将该单词移动到列表的前面。如果单词不在列表中,我可以将其添加到列表中,但是如果元素已经在列表中,我不知道如何将其移动到列表的前面。这是我的密码: (defun movetofront (word lst) (cond ((member word lst) (remove word lst)) (T (cons word lst)))) 您不必检查是否存在: (defun
(defun movetofront (word lst)
(cond
((member word lst)
(remove word lst))
(T (cons word lst))))
您不必检查是否存在:
(defun move-to-front (word list)
(cons word (remove word list)))
请注意,如果
word
是,例如,一个字符串
,则不必检查是否存在:
(defun move-to-front (word list)
(cons word (remove word list)))
请注意,如果单词
是,例如字符串
,则为