Racket \ Scheme比较并删除列表中不需要的项目

时间:2015-06-11 09:30:03

标签: scheme racket

我有2个名单:

(Define list1 '("xx1" "xx2" xx3" "xx4" "xx5"))
(Define list2 '("xx2" "xx4" "xx5"))

上面列表中的项目只是一个示例,但无论哪种方式,它都是一个字符串项。我需要做的是比较两个列表并删除list2中list1中的项目。

我可以做一个简短的地图例程吗?

这不是一些家庭作业项目,我希望这里有编程课程的课程:/

2 个答案:

答案 0 :(得分:1)

还有remove*

一个例子:

#lang racket
(define list1 '("xx1" "xx2" "xx3" "xx4" "xx5"))
(define list2 '("xx2" "xx4" "xx5"))

(displayln (remove* list2 list1))

打印:

(xx1 xx3)

答案 1 :(得分:0)

#lang racket
(define list1 '("xx1" "xx2" "xx3" "xx4" "xx5"))
(define list2 '("xx2" "xx4" "xx5"))

(for/list ([x (in-list list1)]
           #:unless (member x list2))
  x)

结果:

 '("xx1" "xx3")