Zahlensequenzen zu 'Kurven' gruppieren
Verfasst: Dienstag 23. Oktober 2012, 14:53
Hallo 
als ich mich eigentlich mie einer anderen Fragestellung befasst habe, bin ich zu folgendem Problem gekommen: ich habe eine Zahlensequenz die ich in steigend-fallende (oder gleichbleibende)
Subsequenzen unterteilen will. Ein Beispiel:
Ein Kumpel von mir hatte mir dafür eine rekursive Lösung in Haskell gezeigt, die wir zusammen nach Python übersetzt haben. Die ist recht übersichtlich, allerdings ist das mit Rekursionen in Python ja so 'ne Sache...
Daher habe ich folgendes versucht (Python 3.x) :
So richtig schick finde ich das allerdings nicht. Hat vielleicht jemand eine Idee,
ob/wie man das eleganter formulieren könnte?
Danke für jede Antwort
als ich mich eigentlich mie einer anderen Fragestellung befasst habe, bin ich zu folgendem Problem gekommen: ich habe eine Zahlensequenz die ich in steigend-fallende (oder gleichbleibende)
Subsequenzen unterteilen will. Ein Beispiel:
Code: Alles auswählen
[1, 3, 2, 7, 9, 2, 2, 0, 6, 4, 6]
=>
[[1, 3, 2], [7, 9, 2, 2, 0], [6, 4], [6]]
Daher habe ich folgendes versucht (Python 3.x) :
Code: Alles auswählen
def iter_mountains(l):
result = [l[0]]
complete = False
for i, j in zip(l, l[1:]):
if (j >= i) and not complete:
result.append(j)
elif (j <= i):
result.append(j)
complete = True
elif (j >= i) and complete:
yield result
result = [j]
complete = False
yield result
ob/wie man das eleganter formulieren könnte?
Danke für jede Antwort