www.jammni.de

Logo - Kleiner Drache
Login
Username:

Passwort:

Daten merken
Auto-Login
Registrieren
 
Online
niemand
 
Forumsuche
Suche nach:

Logo - DracheHaskell-Forum

Opa114

Gepostet:
08.06.2008 15:49

Problem mit List Comprehension  
Hallo,

ich möchte in einer verschachtelten Liste z.B. [[1,2],[3,6,9],[10]] alle Elemente mit Hilfe der List Comprehension verdoppeln, dass das Ergebnis dann so aussehen würde: [[3,6],[9,18,27],[30]].

Allerdings habe ich keinerlei Ahnung, wie ich das mit List Comprehension ausdrücken soll :-( Kann mir jemand Tipps oder Hilfestellungen geben?

Gruß
Matthias
Zum Seitenanfang    
 
Siracusa

Gepostet:
08.06.2008 22:48

   
Hallo Matthias,

der Trick ist hier, die List comprehensions verschachtelt zu verwenden: \f css -> [[f c | c<-cs] | cs<-css]. Zunächst holst du dir alle Listen aus der äußeren Liste und wendest dann auf jede dieser Listen wieder mittels List comprehension eine Funktion f (z.B. (*2)) an.

Übrigens läßt sich durch doppelte Anwendung der map Funktion das gleiche Ergebnis erzielen: \f css -> (map . map) f css.


Viele Grüße,

Siracusa
Zum Seitenanfang    
 
Opa114

Gepostet:
09.06.2008 12:05

   
Hey!

danke Siracusa für die Hilfe. Ist ja doch einfacher als gedacht. Da wäre ich noch lange nicht drauf gekommen ;-)
Dankeschön!
Zum Seitenanfang