ValueError需要帮助:未找到子字符串

2024-06-07 12:23:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用以下句子来表达:

(N(Hace calor.)-(S(De todas formas,no salgo a casa.))

(N(阿德马斯,va a venir Peter.)-(s(罪恶禁运,不允许任何犯罪行为)

但是程序只能给出第一句话,并给出一个错误作为ValueError:substring未找到第二句话。有人能帮忙吗?谢谢

这是我的密码:

from nltk import tokenize
sent = 'Hace calor. De todas formas, no salgo a casa. Además, va a venir Peter. Sin embargo, no lo sé a qué hora llegará exactamente.'
Ant = ['De todas formas', 'Sin embargo']
sent = tokenize.sent_tokenize(sent)
for i in sent:
    for DMAnt in Ant:
        if DMAnt in i:
            sent = '(N(' + str(sent[sent.index(i)-1]) + ')-Antithesis-' +'(S(' + str(sent[sent.index(i)]) + '))'
    print(sent)

Tags: noindesinsentpetertokenizeva
1条回答
网友
1楼 · 发布于 2024-06-07 12:23:08

您正在更改sent。我建议创建一个新变量,它将解决这个问题

import nltk
nltk.download('punkt')
from nltk import tokenize
sent = 'Hace calor. De todas formas, no salgo a casa. Además, va a venir Peter. Sin embargo, no lo sé a qué hora llegará exactamente.'
Ant = ['De todas formas', 'Sin embargo']
sent = tokenize.sent_tokenize(sent)
new=[]
for i in sent:
    for DMAnt in Ant:
        if DMAnt in i:
            new.append('(N(' + str(sent[sent.index(i)-1]) + ')-Antithesis-' +'(S(' + str(sent[sent.index(i)]) + '))')

print(new)   

输出:

['(N(Hace calor.)-Antithesis-(S(De todas formas, no salgo a casa.))', '(N(Además, va a venir Peter.)-Antithesis-(S(Sin embargo, no lo sé a qué hora llegará exactamente.))']

new变量将以列表的形式获得您想要的输出

相关问题 更多 >

    热门问题