Scheme - 将列表中的每个元素转换为列表(列表列表)

时间:2011-05-12 10:15:53

标签: scheme

我在方案中列出了(3 4 2),我想把它列为一个列表,即:((3) (4) (2)),我该怎么做?

谢谢。

2 个答案:

答案 0 :(得分:4)

您可以使用map功能,例如(map list '(3 4 5)),这是所有列表操作的面包和黄油。它相当于python中的列表理解,或者java中的for循环。

记录:

您还可以使用reducefilter来执行更复杂的列表操作任务。除了apply之外,你真的不需要任何其他东西。

答案 1 :(得分:0)

如果你想做只有基本功能的Little Schemer风格,你可以创建如下内容:

(define make-list
..(lambda (lat)
....(cond
......((null? lat) (quote()))
......(else (cons (cons (car lat) (quote()))
..................(make-list (cdr lat))))))))