python-262Đọc toàn bộ đề miễn phí

Đếm số lần xuất hiện bằng dict

Đếm tần suất là việc dùng bảng băm (hash map) nhiều nhất trong thực tế: đếm số lần một mã

PythonCơ bản10 phút

Tiến độ của tôi ở bài này

Điểm và code bạn nộp được lưu vào tài khoản sau khi chấm bài.

Đang tải điểm của bạn…

Kiến thức và chủ đề

data-structureshash-mapdictcountingentry-ramp

Kiến thức tiên quyết: python-basics, python-dicts, python-loop-basics.

Nội dung đề bài

Mô tả bài toán

Đếm tần suất là việc dùng bảng băm (hash map) nhiều nhất trong thực tế: đếm số lần một mã lỗi xuất hiện trong log, số đơn hàng theo từng mã sản phẩm, số lần một từ xuất hiện trong đoạn văn. dict cho phép tra cứu và cập nhật bộ đếm trong thời gian hằng số.

Yêu cầu

Viết hàm count_items(items) trả về một dict ánh xạ mỗi giá trị khác nhau trong items sang số lần giá trị đó xuất hiện. Chỉ những giá trị thật sự xuất hiện mới có mặt trong kết quả; giá trị xuất hiện một lần vẫn được giữ với bộ đếm bằng 1.

Quy ước nộp bài

Nộp hàm count_items trong solution.py. Hệ thống gọi hàm trực tiếp bằng tên đối số items rồi so dict trả về; không đọc dữ liệu từ stdin và không in ra stdout.

Input

  • items: danh sách các chuỗi, có thể rỗng và có thể chứa giá trị trùng nhau.

Output

dict với khoá là các chuỗi đã xuất hiện trong items và giá trị là số lần xuất hiện, mỗi giá trị là một số nguyên dương.

Ràng buộc

  • Số phần tử từ 0 đến 50; danh sách rỗng phải cho {}.
  • Tổng các bộ đếm luôn bằng độ dài items.
  • Không được bỏ sót giá trị chỉ xuất hiện một lần.
  • Thời gian cần đạt O(n); dùng bộ đếm tăng dần trong dict, không duyệt lồng nhau.

Ví dụ 1

Input

count_items(items=["a", "b", "a"])

Output

{"a": 2, "b": 1}

Ví dụ 2

Input

count_items(items=["x"])

Output

{"x": 1}

Giải thích

Với items = ["a", "b", "a"], chuỗi "a" xuất hiện hai lần và "b" một lần, nên hàm trả về {"a": 2, "b": 1}.

3 cấp độ gợi ýMở dần khi bạn thật sự cần hỗ trợ.
Phân tích lời giảiGiải thích hướng tư duy và thuật toán.
Code tham khảoDùng để đối chiếu sau khi tự làm.

Gợi ý và lời giải chỉ mở sau khi bạn bấm Nộp bài. Giáo viên và quản trị viên mở được ngay.

Nhóm Zalo