Подсчёт частот в Python: словарь, get и Counter

Словарь частот сопоставляет каждому значению количество его появлений. Для готового подсчёта подходит collections.Counter. Если нужно написать алгоритм самостоятельно, обработайте элементы по очереди и обновляйте значение счётчика; отсутствующее значение удобно читать через dict.get(key, 0).

Короткий пример

from collections import Counter
items = ["red", "blue", "red"]
print(dict(Counter(items)))
print(dict(Counter([])))

Результат:

{'red': 2, 'blue': 1}
{}

Ключ словаря должен быть хешируемым: строки и числа подходят, список ключом быть не может. Вложенное изменяемое значение не становится допустимым ключом только потому, что лежит внутри кортежа. Исходный список при подсчёте менять не нужно.

Попробуйте самостоятельно

Ниже — отдельное задание с другими данными. Напишите решение и запустите проверку кода без регистрации. Для последовательного обучения откройте курс.

Документация.

Посчитай частоты значков на витрине

Напишите функцию build_freq(items), которая принимает список любых значений и возвращает словарь частот.

Каждый элемент списка должен стать ключом словаря, а его количество — значением.

Функция не должна изменять исходный список.

После определения функции добавьте проверочные вызовы с print():

  • на списке с повторяющимися элементами;
  • на пустом списке или на списке из одного элемента.
РешениеPython

Без регистрации. Гостевая проверка не сохраняет прогресс. Для сохранения перейдите к уроку.

Отправьте решение, чтобы увидеть результаты тестов.

Связанные задачи