有人可以解释球拍的传球风格吗?

时间:2016-11-06 14:46:11

标签: lambda filter scheme racket store

我正在进行分配,我们必须根据谓词(甚至?)对列表进行分区。 例: (filter-sps甚至?'(1 2 3 4 5 6 7 8 9 10)'())

输出: (2 4 6 8 10) (1 3 5 7 9)

我无法生成2个单独的列表。

1 个答案:

答案 0 :(得分:0)

你可以简单地过滤两次:

(define lst '(1 2 3 4 5 6 7 8 9 10))

(define odd? (lambda (n)
                 (not (even? n)))) ; in case you don't have odd

(cons (filter-sps even? lst)
      (filter-sps odd? lst))
如果列表很长,那么两次迭代同一个列表是浪费的,但是对于你的例子它可以忽略不计