Code: Alles auswählen
data = ['a', 'a', 'a', 'a', 'b', 'b', 'b', 'b']
Code: Alles auswählen
data = ['a', 'a', 'a', 'a', 'b', 'b', 'b', 'b']
Code: Alles auswählen
>>> data = ['a', 'a', 'a', 'a', 'b', 'b', 'b', 'c']
>>> def foo(pair):
... print(pair)
...
>>> for pair in zip(data, chain([None], data)):
... if pair[0] != pair[1]:
... foo(pair)
...
('a', None)
('b', 'a')
('c', 'b')
Brauchst du jedes einzelne Element oder reicht es dir wenn du weißt, wo die Wertänderungen sind?mzh hat geschrieben:Ich möchte über die Elemente der Liste iterieren, und dann eine Funktion aufrufen, wenn das Element ändert, also beim ersten Auftreten von 'b'.
Code: Alles auswählen
from itertools import groupby
data = ['a', 'a', 'a', 'b', 'b', 'b', 'b', 'c', 'd', 'd']
groups = [(key, len(list(group))) for key, group in groupby(data)]
for element in groups:
print element
Code: Alles auswählen
from itertools import groupby
data = ['a', 'a', 'a', 'b', 'b', 'b', 'b', 'c', 'd', 'd']
groups = [(key, len(list(group))) for key, group in groupby(data)]
for element in groups:
print element