Willst Du nun Listen zusammenfassen, oder nur trennen?
Beispiel: [[0,0.2,0.8],[0.8,0.5]] -> [0,0.2], [0.8,0.8], [0.5], wobei sich hier natürlich die Frage stellt, unter welcher Bedingung Listen zusammengefasst werden sollen?
Sonst mischst Du hier zwei Probleme.
1. Gehe eine Liste von Listen durch.
2. Spalte diese Liste auf
3. Fasse alle Ergebnislisten wieder zu einer Liste von Listen zusammen.
Zum Code allgemein:
Eingerückt wird immer mit 4 Leerzeichen pro Ebene, keine Tabs.
Variablennamen sollten aussagekräftig sein, ein kleines und ein großes M sind es nicht und unterscheiden sich auch nicht gut genug, als dass man da durcheinander kommen könnte.
Schleifen über einen Index macht man nicht, weil man in Python auch direkt über die Elemente iterieren kann.
Ohne was am verhalten zu ändern, könnte die Funktion so aussehen:
Code: Alles auswählen
def stamp2(lists):
group_index = 0
for values in lists:
threshold = (max(values) - min(values)) * 0.5
previous = values[0]
for value in values:
if abs(value - previous) >= threshold:
group_index += 1
yield (group_index, value)
previous = value