我试图检查一个单词是否是列表的元素.然后它不会将单词添加到列表的前面,但是如果它将该单词移动到列表的前面.我可以将单词添加到列表中,如果它还没有,但我不知道如果它已经在列表中,如何将元素移动到列表的前面.这是我的代码:
(defun movetofront (word lst)
(cond
((member word lst)
(remove word lst))
(T (cons word lst))))
Run Code Online (Sandbox Code Playgroud)
您无需检查是否存在:
(defun move-to-front (word list)
(cons word (remove word list)))
Run Code Online (Sandbox Code Playgroud)
请注意,如果word是,例如,a string,则需要传递:test给remove.