Haskell Konvertiert die Liste in eine Tupel-Liste

7

Ich habe eine Liste wie diese

%Vor%

und ich möchte zu

konvertieren %Vor%

Bitte helfen Sie. Vielen Dank.

    
peterwkc 18.06.2010, 03:33
quelle

3 Antworten

13
%Vor%

Wenn du mit der ungeraden Länge umgehen willst, füge einfach cnv [x] = Variante vor der letzten hinzu

    
ony 18.06.2010, 03:42
quelle
8

onys Lösung ist ein bisschen kürzer, Aber hier ist eine nicht-rekursive Version mit splitEvery aus dem sehr praktischen split library :

%Vor%

Die Schritte hier sind (zumindest für mich) etwas klarer als in der rekursiven Version.

    
Travis Brown 18.06.2010 05:04
quelle
3

Genau für eine Aufgabe wie diese finde ich es praktisch, eine stride Funktion zu haben, um jedes n-te Element aus der Liste zu übernehmen:

%Vor%

Es kann verwendet werden, um eine Liste in Paare umzuwandeln:

%Vor%

Ein Beispiel (beachte, dass das letzte Element weggeworfen werden kann, wenn es kein Paar hat):

%Vor%

Es kann sogar leicht zu Triplets oder längeren Tupeln erweitert werden:

%Vor%

Um in Ihrem Beispiel die Konvertierung von String in eine ganze Zahl durchzuführen, können Sie read function dem zweiten Schritt zuordnen:

%Vor%

was ergibt:

%Vor%     
sastanin 18.06.2010 09:57
quelle

Tags und Links