Computer >> Máy Tính >  >> Lập trình >> Python

Tần suất của mỗi ký tự trong chuỗi trong Python

Xử lý văn bản đã nổi lên như một lĩnh vực quan trọng trong học máy và AI. Python hỗ trợ điều này với nhiều công cụ và thư viện có sẵn. Trong bài viết này, chúng ta sẽ xem cách chúng ta có thể tìm số lần xuất hiện của mỗi chữ cái của một chuỗi nhất định.

Có bộ đếm

Phương thức Counter đếm số lần xuất hiện của một phần tử trong một phần tử có thể lặp lại. Vì vậy, nó có thể được sử dụng thẳng bằng cách chuyển chuỗi bắt buộc vào đó.

Ví dụ

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)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Đầu ra

Given String: timeofeffort
Frequency of each character :
{'t': 2, 'i': 1, 'm': 1, 'e': 2, 'o': 2, 'f': 3, 'r': 1}

Với get ()

Chúng ta có thể coi chuỗi như một từ điển và đếm các khóa cho mỗi ký tự bằng cách sử dụng get () trong vòng lặp for.

Ví dụ

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

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Given String: timeofeffort
Frequency of each character :
{'t': 2, 'i': 1, 'm': 1, 'e': 2, 'o': 2, 'f': 3, 'r': 1}

Với bộ

Một tập hợp trong python lưu trữ các phần tử duy nhất. Vì vậy, chúng ta có thể sử dụng nó một cách khôn ngoan bằng cách đếm số lần gặp lại cùng một ký tự khi lặp qua chuỗi dưới dạng một ký tự có thể lặp lại.

Ví dụ

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

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Given String: timeofeffort
Frequency of each character :
{'f': 3, 'r': 1, 'm': 1, 'o': 2, 'i': 1, 't': 2, 'e': 2}