【发布时间】:2015-09-11 22:32:19
【问题描述】:
我想定义一个函数,它消耗 2 个列表并做减法得到另一个列表。
例如,当list1为'(a a b b c),list2为'(a b)时,减法结果应为'(a b c)。
我尝试通过 lambda 实现它并删除,最终制作了多个列表。
我真的不知道该怎么做。
【问题讨论】:
-
(substract '(a) '(a a))的结果如何?
标签: racket
我想定义一个函数,它消耗 2 个列表并做减法得到另一个列表。
例如,当list1为'(a a b b c),list2为'(a b)时,减法结果应为'(a b c)。
我尝试通过 lambda 实现它并删除,最终制作了多个列表。
我真的不知道该怎么做。
【问题讨论】:
(substract '(a) '(a a)) 的结果如何?
标签: racket
这是一种方法:
#lang racket
(define (subtract xs ys)
(if (empty? ys)
xs
(subtract (remove (first ys) xs) (rest ys))))
(subtract '(a a b b c) '(a b))
【讨论】: