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

ความถี่ของอักขระแต่ละตัวในสตริงใน Python


การประมวลผลข้อความได้กลายเป็นสาขาที่สำคัญในการเรียนรู้ของเครื่องและ 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}