Python 中的滑动窗口迭代器
在处理流数据或顺序处理时,滚动或滑动窗口迭代器对于检查定义窗口中的元素流。
在 Python 中,您可以使用以下命令创建滑动窗口迭代器内置 itertools 模块。旧版本 Python 文档中的 window() 函数提供了简洁高效的实现:
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
或者,对于简单的列表或元组,可以使用简单的方法:
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])
在这两种情况下,窗口都会在序列中滑动,产生指定大小的重叠窗口,从而可以轻松地以可管理的方式分析和处理数据。
以上是如何用 Python 创建滑动窗口迭代器?的详细内容。更多信息请关注PHP中文网其他相关文章!