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
