Подсчёт частот в 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():
- на списке с повторяющимися элементами;
- на пустом списке или на списке из одного элемента.
Без регистрации. Гостевая проверка не сохраняет прогресс. Для сохранения перейдите к уроку.
Отправьте решение, чтобы увидеть результаты тестов.
