gpt4 book ai didi

python - 在给定的可迭代对象上滑动宽度为 n 的窗口

转载 作者:行者123 更新时间:2023-11-28 20:13:02 25 4
gpt4 key购买 nike

我有一个序列、窗口大小和步长:

seq = [0,1,2,3,4]
n=4
step=2

from more_itertools import windowed
list(windowed([0,1,2,3,4], n, fillvalue=0, step=step))

结果:

[(0, 1, 2, 3), (2, 3, 4, 0)]

但我需要:

[(0, 1, 2, 3), (2, 3, 4, 0), (4, 0, 0, 0)]

请帮我想个办法

最佳答案

只需编写您自己的windowed 函数:

def windowed(iterable, size, fillvalue=None, step=1):
for i in range(0, len(iterable), step):
window = iterable[i:i+size]
window += [fillvalue] * (size - len(window))
yield window
>>> list(windowed([0,1,2,3,4], 4, fillvalue=0, step=2))
[[0, 1, 2, 3], [2, 3, 4, 0], [4, 0, 0, 0]]

关于python - 在给定的可迭代对象上滑动宽度为 n 的窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55590570/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com