롤링 또는 슬라이딩 창 반복기
롤링 또는 슬라이딩 창 반복기를 사용하면 지정된 크기의 겹치는 창에서 시퀀스를 순회할 수 있습니다. 창 크기가 1인 시퀀스를 반복하는 것은 본질적으로 기본 Python 반복입니다.
효율적이고 우아한 구현
Python 문서의 다음 구현은 itertools 모듈을 활용합니다. 효율성 향상:
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
간단한 구현 Iterables
간단한 목록이나 튜플로 표현되는 Iterable의 경우 간단한 접근 방식은 지정된 창 크기로 반복 가능 항목을 반복하는 것입니다.
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])
출력:
[0, 1, 2] [1, 2, 3] [2, 3, 4] [3, 4, 5]
위 내용은 Python에서 롤링 또는 슬라이딩 창 반복기를 효율적으로 구현하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!