J'ai une liste dans le schéma: (3 4 2)
et je veux en faire une liste de listes, à savoir: ((3) (4) (2))
, Comment puis-je le faire?Scheme - transformer chaque élément d'une liste en une liste (liste de listes)
Merci.
J'ai une liste dans le schéma: (3 4 2)
et je veux en faire une liste de listes, à savoir: ((3) (4) (2))
, Comment puis-je le faire?Scheme - transformer chaque élément d'une liste en une liste (liste de listes)
Merci.
Vous pouvez utiliser la fonction map
, par ex. (map list '(3 4 5))
, qui est le pain et le beurre de toute manipulation de liste. C'est équivalent à une compréhension de liste en python, ou une boucle for en java.
pour l'enregistrement:
Vous pouvez également utiliser reduce
et filter
pour plus compliquer liste des tâches de manipulation. Vous n'avez vraiment besoin de rien d'autre, à part peut-être apply
.
Si vous vouliez faire peu de style Schemer avec uniquement les fonctions de base que vous pouvez créer quelque chose comme ceci:
(define make-list
..(lambda (lat)
....(cond
......((null? lat) (quote()))
......(else (cons (cons (car lat) (quote()))
..................(make-list (cdr lat))))))))