【发布时间】:2014-11-26 08:08:57
【问题描述】:
我有 2 个列表
(define wholelist '(1 2 3 4 5 6 7 8 9 10))
(define list1 '(3 4 6 9 10))
(define (removelist list1 list2)
(remove* list1 list2))
我想做的是,如果我
(define result1 (removelist list1 wholelist)
> '(1 2 5 7 8)
但我希望结果列表为
> '(3 4 6 9 10)
使用 remove* 函数。
有什么方法可以将我的 '(1 2 5 7 8) 结果翻转为 '(3 4 6 9 10)? 喜欢
(not (remove* list1 list2))
??????
非常感谢您的帮助!
还有,有没有办法在 cond 语句或函数中定义一个列表???
非常感谢!
【问题讨论】:
-
您的列表始终是否保证按升序排列?如果是这样,有一个更快的解决方案(比 Óscar 的答案,它不需要对列表进行排序但速度较慢)。