【发布时间】:2014-02-26 20:32:26
【问题描述】:
我正在为我的项目目的编写一个 python 代码,在该代码中我想实现窗口机制(目标单词的周围单词),并且我已经为它编写了以下部分,下面给出了一个示例列表。当目标词没有被两边至少两个词包围时,我得到“索引超出范围”。
Window = list()
text = ['dog','bark','tree']
polysemy = ['dog','bark','tree']
def window_elements(win,ind,txt):
win.append(txt[index + 1])
win.append(txt[index + 2])
win.append(txt[index - 1])
win.append(txt[index - 2])
return win
for w in polysemy:
window = list()
index = text.index(w)
window = window_elements(window,index,text)
假设这里 for 循环的第一次执行目标词是'dog',所以从函数 window_element 我想要一个来自'dog'右侧的单词 2 和来自'dog'左侧的 2 个单词的列表。但是这里 dog 的左侧没有单词,因此该列表将不包含任何单词,并且仅从右侧取两个单词并正确执行。
我想要这种机制,但无法以上述方式做到这一点。任何人都可以建议我满足我的要求的可选机制吗?
【问题讨论】:
-
你到底想要什么?请举个例子
-
请看我解释的变化
-
为什么你将
ind参数传递给你的函数,然后在函数内部使用全局index?
标签: python python-2.7