การประมวลผลข้อความได้กลายเป็นสาขาที่สำคัญในการเรียนรู้ของเครื่องและ AI Python รองรับไฟล์นี้ด้วยเครื่องมือและไลบรารี่ที่มีอยู่มากมาย ในบทความนี้เราจะมาดูกันว่าเราจะหาจำนวนการเกิดขึ้นของตัวอักษรแต่ละตัวของสตริงได้อย่างไร
มีเคาน์เตอร์
เมธอด Counter จะนับจำนวนการเกิดขึ้นขององค์ประกอบใน iterable ดังนั้นจึงใช้งานได้โดยส่งต่อสตริงที่จำเป็นลงไป
ตัวอย่าง
from collections import Counter # Given string strA = "timeofeffort" print("Given String: ",strA) # Using counter res = {} for keys in strA: res[keys] = res.get(keys, 0) + 1 # Result print("Frequency of each character :\n ",res)
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
ผลลัพธ์
Given String: timeofeffort Frequency of each character : {'t': 2, 'i': 1, 'm': 1, 'e': 2, 'o': 2, 'f': 3, 'r': 1}
ด้วย get()
เราสามารถจัดการสตริงเป็นพจนานุกรมและนับคีย์สำหรับอักขระแต่ละตัวโดยใช้ get() ในลูป for
ตัวอย่าง
# Given string strA = "timeofeffort" print("Given String: ",strA) # Using counter res = {} for keys in strA: res[keys] = res.get(keys, 0) + 1 # Result print("Frequency of each character :\n ",res)
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
Given String: timeofeffort Frequency of each character : {'t': 2, 'i': 1, 'm': 1, 'e': 2, 'o': 2, 'f': 3, 'r': 1}
พร้อมชุด
ชุดใน python เก็บองค์ประกอบเฉพาะ ดังนั้นเราจึงสามารถใช้มันอย่างชาญฉลาดโดยการนับจำนวนครั้งที่พบอักขระตัวเดียวกันซ้ำแล้วซ้ำเล่าเมื่อวนซ้ำผ่านสตริงเป็นแบบวนซ้ำได้
ตัวอย่าง
# Given string strA = "timeofeffort" print("Given String: ",strA) # Using counter res = {} res={n: strA.count(n) for n in set(strA)} # Result print("Frequency of each character :\n ",res)
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
Given String: timeofeffort Frequency of each character : {'f': 3, 'r': 1, 'm': 1, 'o': 2, 'i': 1, 't': 2, 'e': 2}