2017-05-30 5 views
2

Comment puis-je mapper une fonction par exemple (carré x) sur une liste de listes (liste (liste 1 2) (liste 3 4)) et à concatène en même temps le résultat. Par exemple, le résultat serait (1 4 9 16). Je ne trouve pas d'explications détaillées sur le web ... merci pour tout conseil!mappe une fonction sur une liste de listes et concatène le résultat dans une liste

Cordialement, Eunice

+0

https://stackoverflow.com/questions/14617095/how-to-use-append-map-in-racket-scheme#14617333 – chunjef

+0

merci pour le lien chunjef. Je vais passer par là :) –

+0

Duplication possible de [Comment utiliser append-map dans Racket (Scheme)] (https://stackoverflow.com/questions/14617095/how-to-use-append-map-in-racket -scheme) – Shiro

Répondre

1

Essayez ceci:

(append-map (lambda (slst) (map sqr slst)) 
      (list (list 1 2) (list 3 4))) 

Les map les plus intimes carrés chaque numéro, et le plus à l'extérieur append-map traverse les sous-listes, les annexant à la fin. Si votre langue ne supporte pas append-map, voici une solution équivalente:

(apply append 
     (map (lambda (slst) (map sqr slst)) 
      (list (list 1 2) (list 3 4)))) 
+0

merci beaucoup, votre réponse m'a aidé! –