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

问题描述:

我在列表中列出了方案:(3 4 2),我想列出列表,例如:((3) (4) (2)),我该怎么做?Scheme - 将列表中的每个元素转换为列表(列表列表)

谢谢。

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

备案:

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

如果你想,只有基本功能做这个小策士风格,你可以创建这样的事情:

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