问题描述:我有兴趣查看文本窗口中的术语,例如左侧 3 个单词和右侧 3 个单词。基本情况的形式为 w-3 w-2 w-1 term w+1 w+2 w+3。我想在我的文本上实现一个滑动窗口,用它我将能够记录每个术语的上下文单词。因此,每个单词都曾经被视为一个术语,但是当窗口移动时,它就变成了上下文单词等。但是,当该术语是行中的第一个单词时,左侧没有上下文单词(t w+1 w+2 w+3),当它是一行中的第二个单词时,左边只有一个上下文单词,依此类推。因此,我对实现这种灵活的滑动窗口(在 Python 中)的任何提示感兴趣,而无需单独编写和指定每种可能的情况。
回顾一下:
输入示例:
[“w1”、“w2”、“w3”、“w4”、“w5”、“w6”、“w7”、“w8”、“w9”、“w10”]
Output:
t1瓦2 瓦3 瓦4
w1 t2瓦3 瓦4 瓦5
w1 w2 t3瓦4 瓦5 瓦6
瓦1 瓦2 瓦3t4W5 W6 W7
__ w2 w3 w4t5W6 W7 W8
__ __ ETC。
我当前的计划是为输出中的每一行使用单独的条件来实现这一点。
如果你想要一个滑动窗口n
换句话说,使用最大长度的双端队列n
来实现一个缓冲区。
这应该说明这个概念:
mystr = "StackOverflow"
from collections import deque
window = deque(maxlen=5)
for char in mystr:
window.append(char)
print ( ''.join(list(window)) )
Output:
S
St
Sta
Stac
Stack
tackO
ackOv
ckOve
kOver
Overf
verfl
erflo
rflow
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)