Python 中 Bigram 之后的出现


假设给定一些单词。这些单词是 first 和 second,考虑在 "first second third" 形式的文本中出现的情况,此处 second 紧跟在 first 之后,而 third 紧跟在 second 之后。

对于每种此类情况,将 "third" 添加到答案中,并显示答案。因此,如果文本为 "lina is a good girl she is a good singer",则 first = “a”,second = “good”,答案将是 [girl, singer]

为了解决这个问题,我们将遵循以下步骤:

  • text := 按空格对字符串进行拆分
  • res 是一个空列表
  • for i := 0 到 text 的大小 – 1
    • 如果 i + 2 < text 的长度,并且 text[i] = first 并且 text[i + 1] = second,则将 text[i + 2] 追加到 res
  • 返回 res

示例

让我们看看以下实现来更好地理解该过程:

 实时演示

class Solution(object):
   def findOcurrences(self, text, first, second):
      text = text.split(" ")
      res = []
      for i in range(len(text)):
         if i+2<len(text) and text[i] ==first and text[i+1]==second:
            res.append(text[i+2])
         return res
ob1 = Solution()
print(ob1.findOcurrences("lina is a good girl she is a good
singer","a","good"))

输入

"lina is a good girl she is a good singer"
"a"
"good"

输出

['girl', 'singer']

更新于:28-4-2020

116 次浏览

启动你的 职业生涯

完成课程后获得认证

开始
广告