在kwic中给定关键字之前获取/添加字符串

时间:2019-11-01 19:16:56

标签: python string list

你好,我正在上下文中处理关键字,我已经在给定字符串之后得到了上下文,我想在给定字符串之前也打印3个字符串。

def file(data):
    tokens = []
    for line in data:
        tokens.extend(line.strip().split())
    return tokens

lists = []
def keycontext(lines, word): 
    liste = []
    for i in range(len(lines)):
        if (lines[i] == word):
            lists.append(" ".join(lines[i:i+int(2)+1])) #lines[i-int(0):i]+
    return lists

keyword = input("write keyword")
print("You've written ", keyword)
text = file(data['clean_text'])
result = keycontext(text,keyword)

作为列表的输出,我明白了

  

['faire un nouveau','faire et qui','faire avec les','faire au   vrai',....

我还想在放任

之前获得字符串

我如何处理此行

lists.append(" ".join(lines[i:i+int(2)+1])) #lines[i-int(0):i]+

2 个答案:

答案 0 :(得分:1)

    从你的评论中我了解到,单词匹配之前需要2个单词。您可以为此添加条件。
def file(data):
    tokens = []
    for line in data:
        tokens.extend(line.strip().split())
    return tokens

lists = []
def keycontext(lines, word): 
    liste = []
    for i in range(len(lines)):
        if (lines[i] == word):
            lists.append(" ".join(lines[min(0,i-2):i+int(2)+1])) #lines[i-int(0):i]+
    return lists

keyword = input("write keyword")
print("You've written ", keyword)
text = file(data['clean_text'])
result = keycontext(text,keyword)

答案 1 :(得分:0)

最后我只需将滑动int从0更改为2即可。这就是列表的样子。

lists.append(" ".join(lines[i-int(2):i]+lines[i:i+int(2)+1]))