Схема - превратить каждый элемент списка в список (список списков) - PullRequest
1 голос
/ 12 мая 2011

У меня есть список в схеме: (3 4 2), и я хочу сделать его списком списков, то есть: ((3) (4) (2)), Как я могу это сделать?

Спасибо.

Ответы [ 2 ]

4 голосов
/ 12 мая 2011

Вы можете использовать функцию map, например, (map list '(3 4 5)), которая является основой всех манипуляций со списком.Это эквивалентно пониманию списка в python или циклу for в java.

для записи:

Вы также можете использовать reduce и filter для более сложных задач манипулирования списками,Вам больше ничего не нужно, кроме, может быть, apply.

0 голосов
/ 10 августа 2011

Если вы хотите сделать это в стиле Little Schemer только с основными функциями, вы можете создать что-то вроде этого: (define make-list<br/> ..(lambda (lat)<br/> ....(cond<br/> ......((null? lat) (quote()))<br/> ......(else (cons (cons (car lat) (quote()))<br/> ..................(make-list (cdr lat))))))))<br/>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...