我想定义一个消耗2个列表并执行减法的函数,从而产生另一个列表。
例如,当list1为'(a a b b c)且list2为'(a b)时,减法结果应为'(a b c)。
我试图通过lambda实现它并删除,最终制作了几个列表。
我真的不知道该怎么做。
答案 0 :(得分:1)
这是一种方式:
#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))