Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chương trình Python đếm từ riêng biệt và tần suất xuất hiện


Cho danh sách từ (có thể trùng lặp). Trả về: (1) số lượng từ riêng biệt, (2) chuỗi tần suất của các từ theo thứ tự xuất hiện đầu tiên.

Ví dụ: ["Book", "Sound", "Language", "Computer", "Book", "Language"] → (4, '2 1 2 1').

Cách làm

  • Dùng OrderedDict (hoặc dict Python 3.7+) để giữ thứ tự chèn.
  • Duyệt từ, tăng đếm.
  • Trả về (len(dict), ' '.join(str(v) for v in dict.values())).

Ví dụ mã nguồ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))  # (4, '2 1 2 1')

Đầu vào / Đầu ra

Input:  ["Book", "Sound", "Language", "Computer", "Book", "Language"]
Output: (4, '2 1 2 1')