Occurrences After Bigram in Python

PythonServer Side ProgrammingProgramming

Suppose there are words given. These are first and second, consider occurrences in some text of the form "first second third", here second comes immediately after the first, and third comes immediately after the second.

For each such cases, add "third" into the answer, and show the answer. So if the text is like “lina is a good girl she is a good singer”, first = “a”, second = “good”, the answer will be [girl, singer]

To solve this, we will follow these steps −

• text := split the string by spaces
• res is an empty list
• for i := 0 to size of text – 1
• if i + 2 < length of text, and text[i] = first and text[i + 1] = second, then append text[i + 2] into res
• return res

Example

Let us see the following implementation to get better understanding −

Live Demo

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"))

Input

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

Output

['girl', 'singer']
Published on 16-Jan-2020 16:53:24