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

Chương trình Python để đếm các từ riêng biệt và đếm tần suất của chúng

Giả sử chúng ta có một danh sách các từ. Những từ này có thể xảy ra nhiều lần. Chúng ta phải chỉ ra tần số xuất hiện của những từ này và đếm xem có bao nhiêu từ khác biệt.

Vì vậy, nếu đầu vào giống như words =["Sách", "Âm thanh", "Ngôn ngữ", "Máy tính", "Sách", "Ngôn ngữ"], thì đầu ra sẽ là (4, '2 1 2 1') bởi vì có bốn từ riêng biệt, từ đầu tiên và từ thứ ba đã xảy ra hai lần.

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • d:=an OrderedDict để lưu trữ các mặt hàng dựa trên thứ tự chèn
  • đối với mỗi w trong từ, hãy thực hiện
    • nếu w nằm trong d, thì
      • d [w]:=d [w] + 1
    • nếu không,
      • d [w]:=1
  • một cặp có kích thước bằng danh sách tất cả các khóa trong d và nối tất cả các giá trị từ d thành một chuỗi rồi trả về.

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn

from collections import OrderedDict

def solve(words):
   d=OrderedDict()
   for w in words:
      if w in d:
         d[w] += 1
      else:
         d[w] = 1
   return len(d.keys()), ' '.join([str(d[k]) for k in d.keys()])

words = ["Book", "Sound", "Language", "Computer", "Book", "Language"]
print(solve(words))

Đầu vào

["Book", "Sound", "Language", "Computer", "Book", "Language"]

Đầu ra

(4, '2 1 2 1')