【发布时间】:2019-09-24 16:35:07
【问题描述】:
如果我有一个句子列表。我需要遍历每个句子并检查任何两个句子中的任何两个单词是否相同。如果是,则将第二个句子中的单词替换为已初始化的第三个单词。第三个词是常用词(var3)。例如:拉胡尔正在吃一个苹果。拉胡尔喝牛奶。输出: Rahul 正在吃一个苹果。他在喝牛奶。
var3='तो' #word to replace if words are same
summary=['Rahul drinks milk', 'Rahul eats rice', Seema is going to the market']
for sent in summary:
occurences = [index for index, value in enumerate(summary) if value == sent]
if len(occurences) > 1
for i in range(len(summary)):
for word in i:
var1=sent[i]
var2=sent[i+1]
if(var1==var2):
var3=var1
summary 是句子的列表。现在在这种情况下有三个句子。其中“Rahul”在两句话中是相同的。所以第二句中的单词被替换了。
有人可以帮我解决这个问题吗?
【问题讨论】:
-
哪两句话?有两句话吗?对于每个句子的每个单词,你想看看它是否出现在任何其他句子中?如果是这样,你想替换那个词吗?
-
是的。任意两句。因此,如果该词存在,则将第二个词替换为 var3。例如:拉胡尔正在吃一个苹果。拉胡尔正在喝牛奶。输出: Rahul 正在吃一个苹果。他在喝牛奶。
-
在你的例子中,
is这个词怎么样?示例输出不应该是:Rahul is eating an apple. He He drinking milk吗? -
在你的代码中,变量
i定义在哪里? -
您能否编辑原始问题以澄清所有这些讨论的内容?并先进行另一次编码尝试。您需要做的是迭代每个句子,并且对于每个句子,使用索引进行迭代,以便您可以在迭代时替换单词。一旦您找到要替换的单词的第一个匹配项,您就可以开始替换 - 这可以通过
boolean来完成。
标签: python-2.7 list replace utf-8 jupyter-notebook