如何调整滑动窗口的单次滑动步长
实现方法
你可以通过控制滑动起始位置的步长参数实现自定义滑动距离,Python 实现代码如下:
def sliding_window(sequence, window_size, step_length): result = [] # 起始位置从0开始,每次递增设置的步长,直到剩余字符不足以覆盖窗口大小停止 for start_idx in range(0, len(sequence) - window_size + 1, step_length): result.append(sequence[start_idx : start_idx + window_size]) return result
也可以直接用列表推导式简化写法:
result = [seq[i:i+window_size] for i in range(0, len(seq)-window_size+1, step)]
效果验证
我们用你给出的三个示例验证效果:
- 第一个示例
输入:seq = 'ATCGAC',窗口大小=1,步长=2
调用:sliding_window(seq, 1, 2)
输出:['A', 'C', 'A'] - 第二个示例
输入:seq = 'ATCGAC',窗口大小=3,步长=3
调用:sliding_window(seq, 3, 3)
输出:['ATC', 'GAC'] - 第三个示例
输入:seq = 'ATCGACATCGACATCGAC',窗口大小=3,步长=6
调用:sliding_window(seq, 3, 6)
输出:['ATC', 'ATC', 'ATC']
所有输出均符合预期。
内容的提问来源于stack exchange,提问作者neuron
相关产品推荐
相关产品推荐

