首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >柔性滑动窗口(用Python语言)

柔性滑动窗口(用Python语言)
EN

Stack Overflow用户
提问于 2012-05-08 10:16:49
回答 1查看 2K关注 0票数 3

问题描述:,我感兴趣的是在文本窗口中的术语,比如说,左边的3个单词和右边的3个单词。大小写的形式为w-3w-2w-1术语w+1 w+2 w+3,我想在文本上实现一个滑动窗口,用它可以记录每个术语的上下文单词。因此,每一个词都曾被视为一个词,但是当窗口移动时,它变成了上下文词等等。然而,当这个词是排的第一个词时,左边就没有上下文词了(t w+1 w+2 w+3),当它是排的第二个词时,左边只有一个上下文词,依此类推。因此,我感兴趣的是实现这个灵活的滑动窗口的任何提示(在Python中),而不需要分别编写和指定每种可能的情况。

概述:

输入示例:

"w1“、"w2”、"w3“、"w4”、"w5“、"w6”、"w7“、"w8”、"w9“、"w10”

输出

t1 w2 w3 w4

w1 t2 w3 w4 w5

w1 w2 t3 w4 w5 w6

w1 w2 w3 t4 w5 w6 w7

__ w2 w3 w4 t5 w6 w7 w8

__,__等。

我目前的计划是为输出中的每一行设置一个单独的条件来实现这一点。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-08 11:49:56

如果您想要n字的滑动窗口,请使用最大长度n的双结束队列来实现缓冲区。

这应说明这一概念:

代码语言:javascript
复制
mystr = "StackOverflow"    
from collections import deque    
window = deque(maxlen=5)
for char in mystr:
    window.append(char)
    print ( ''.join(list(window)) )

输出:

代码语言:javascript
复制
S
St
Sta
Stac
Stack
tackO
ackOv
ckOve
kOver
Overf
verfl
erflo
rflow
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10496698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档