我对两个不同长度的列表有困难。
(f '(8 1 2 3 23 12) '(2 9 4 6))
应该返回(1 2 3 4 6 8 9 12 23)
这是我尝试的代码。
(defun f (lst lst2)
(cond ((or(null lst) (null lst2)) 0)
(t (sort (cons (first lst) (cons (first lst2) (f (rest lst) (rest lst2)))) #'<))))
另外,你能处理lisp中的重复项吗?
我将不胜感激。
答案 0 :(得分:4)
使用标准功能可以轻松完成。要使用append
制作一个列表中的一个,但是最后一个参数是共享的,因此我将其与copy-list
一起复制,因为stable-sort
具有破坏性。 delete-duplicates
删除结果列表中的重复项。
countriesToLiveInDict.removeObject(forKey: "Countries")