我正在尝试检查单词是否是列表的元素。然后它不会将单词添加到列表的前面,但是如果它将该单词移动到列表的前面。我可以将单词添加到列表中,如果它还没有,但我不知道如果它已经在列表中,如何将元素移动到列表的前面。这是我的代码:
(defun movetofront (word lst)
(cond
((member word lst)
(remove word lst))
(T (cons word lst))))
答案 0 :(得分:5)
您无需检查是否存在:
(defun move-to-front (word list)
(cons word (remove word list)))
请注意,如果word
为string
,you will need to pass :test
至remove
。