将列表替换为列表列表

Replace list into list of list

我如何构建一个接收列表并构建 2 个列表的函数,第一个列表是偶数,另一个列表是奇数?

对于输入:(fun '(1 2 3 4 5 6))
输出将是:((2 4 6) (1 3 5)).

有一个内置的,只需使用 partition 并提供正确的谓词。其余代码仅用于捕获返回值并构建输出列表:

(define (my-partition lst)
  (let-values ([(evens odds) (partition even? lst)])
    (list evens odds)))

例如:

(my-partition '(1 2 3 4 5 6))
=> '((2 4 6) (1 3 5))