Jit*_*mes 5 python string list
我有一句话
str = 'cold weather gives me cold'
Run Code Online (Sandbox Code Playgroud)
和一个清单
tag = ['O','O','O','O','disease']
Run Code Online (Sandbox Code Playgroud)
这表明句子中的第5个字是疾病类型。现在,我需要获取第5个单词的开始和结束位置。
如果仅使用“ cold”进行字符串搜索,它将为我提供“ cold”的起始位置,该位置最先出现。
这应该可以做到。
def get(str,target_index):
start = len(" ".join(str.split(" ")[:target_index])) + 1
end = start + len(str.replace('.','').split(' ')[target_index])
return (start,end)
str = 'cold weather gives me cold.'
tag = ['O','O','O','O','disease']
start,end = get(str,tag.index('disease'))
print(start,end,str[start:end]) # outputs 22 26 cold
str = 'cold weather gives me cold'
tag = ['O','O','O','O','disease']
start,end = get(str,tag.index('disease'))
print(start,end,str[start:end]) # outputs 22 26 cold
str = 'cold weather gives me cold and cough'
tag = ['O','O','O','O','disease']
start,end = get(str,tag.index('disease'))
print(start,end,str[start:end]) # outputs 22 26 cold
Run Code Online (Sandbox Code Playgroud)
在这里查看它的实际效果。
希望能帮助到你!