Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

เหตุการณ์หลัง Bigram ใน Python


สมมติว่ามีคำให้ นี่เป็นครั้งแรกและครั้งที่สอง ให้พิจารณาสิ่งที่เกิดขึ้นในข้อความบางรูปแบบ "ครั้งแรก ครั้งที่สอง ที่สาม" ในที่นี้ ที่สอง มาต่อจากที่หนึ่งทันที และครั้งที่สาม จะเกิดขึ้นทันทีหลังจากครั้งที่สอง

สำหรับแต่ละกรณีดังกล่าว ให้เติม "ที่สาม" ลงในคำตอบ แล้วแสดงคำตอบ ดังนั้นหากข้อความว่า “ลีน่าเป็นเด็กดี เธอเป็นนักร้องที่ดี” อันดับแรก =“ก”, ที่สอง =“ดี” คำตอบจะเป็น [สาวนักร้อง]

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • ข้อความ :=แบ่งสตริงด้วยช่องว่าง
  • res เป็นรายการที่ว่างเปล่า
  • สำหรับ i :=0 ถึงขนาดของข้อความ – 1
    • ถ้า i + 2 <ความยาวของข้อความ และ text[i] =ครั้งแรก และ ข้อความ[i + 1] =วินาที ให้ผนวกข้อความ[i + 2] ลงใน 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']