Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich einen Schiebefenster-Iterator in Python erstellen?
Schiebefenster-Iteratoren in Python
Bei der Arbeit mit Streaming-Daten oder sequenzieller Verarbeitung kann ein Roll- oder Schiebefenster-Iterator für die Untersuchung von unschätzbarem Wert sein Stream von Elementen in einem definierten Fenster.
In Python können Sie mithilfe der integrierten Funktion einen Schiebefenster-Iterator erstellen itertools-Modul. Die Funktion window() aus einer älteren Version der Python-Dokumentation bietet eine prägnante und effiziente Implementierung:
from itertools import islice def window(seq, n=2): "Returns a sliding window (of width n) over data from the iterable" " s -> (s0,s1,...s[n-1]), (s1,s2,...,sn), ... " it = iter(seq) result = tuple(islice(it, n)) if len(result) == n: yield result for elem in it: result = result[1:] + (elem,) yield result
Alternativ kann für eine einfache Liste oder ein Tupel ein unkomplizierter Ansatz verwendet werden:
seq = [0, 1, 2, 3, 4, 5] window_size = 3 for i in range(len(seq) - window_size + 1): print(seq[i: i + window_size])
In beiden Fällen gleitet das Fenster durch die Sequenz und erzeugt überlappende Fenster einer bestimmten Größe, sodass Daten einfach analysiert und auf überschaubare Weise verarbeitet werden können.
Das obige ist der detaillierte Inhalt vonWie kann ich einen Schiebefenster-Iterator in Python erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!