Курс Python → Работа с collections в Python.

Для работы со специальными типами данных в Python можно использовать модуль collections, который предоставляет удобные инструменты для работы с контейнерами. Например, defaultdict позволяет создавать словари с дефолтным значением для ключей, что упрощает работу с отсутствующими ключами. Counter, в свою очередь, предоставляет удобный способ подсчета элементов в итерируемом объекте.

Давайте рассмотрим пример использования модуля collections. Допустим, у нас есть список слов words, и нам нужно подсчитать количество вхождений каждого слова в этом списке. Мы можем создать объект defaultdict с типом int, чтобы автоматически увеличивать значение для каждого нового слова. После этого мы можем пройтись по списку слов и увеличивать значение в словаре word_counts для каждого слова.


from collections import defaultdict

words = ['apple', 'banana', 'apple', 'orange', 'banana']
word_counts = defaultdict(int)

for word in words:
    word_counts[word] += 1

print(word_counts)

Теперь давайте рассмотрим другой пример использования модуля collections. Предположим, у нас есть строка ‘banana’, и мы хотим подсчитать количество вхождений каждого символа в этой строке. Для этого мы можем использовать класс Counter, который автоматически создаст словарь с количеством вхождений каждого символа.


from collections import Counter

sentence = 'banana'
letter_counts = Counter(sentence)

print(letter_counts)

Таким образом, модуль collections предоставляет удобные инструменты для работы со специальными типами данных в Python. Благодаря defaultdict и Counter можно эффективно решать задачи по подсчету элементов и управлению словарями. Используя эти инструменты, разработчики могут упростить и оптимизировать свой код, делая его более читаемым и эффективным.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Объединение строк с помощью метода join
  2. Оптимизация памяти с помощью __slots__
  3. Генератор списка с условием if
  4. Копирование списков в Python
  5. Замеры производительности в Python
  6. Получение пути к текущему скрипту с помощью os
  7. Обработка аргументов Python
  8. Округление банкира в Python
  9. Структурирование именованных констант
  10. Создание функций высшего порядка
  11. Курс по дообучению ChatGPT
  12. Подчеркивание в REPL
  13. Использование функции enumerate()
  14. Преобразование PowerPoint в PDF.
  15. Лямбда-функции для min/max
  16. Изменение списка срезами
  17. Python Тесты и Гайды
  18. Оптимизация памяти с slots
  19. Оператор «not» в Python
  20. Просмотр атрибутов и методов класса
  21. Руководство по библиотеке pydantic
  22. Профилирование кода
  23. Обход элементов в Python
  24. Работа с классами данных
  25. Поиск самого частого элемента
  26. Установка пакетов с помощью pip
  27. Вакансии в Nebius
  28. Декораторы в Python
  29. Отладчик pdb: начало работы
  30. Проверка памяти объекта
  31. Удаление специальных символов с помощью re.sub
  32. Lambda Functions in Python
  33. Оценка выражений генератора в Python
  34. Путь к интерпретатору Python
  35. Тернарный оператор в Python
  36. Асинхронное выполнение задач в процессах
  37. Генераторы и сеты в Python
  38. Генераторы в Python
  39. Работа с библиотекой requests
  40. Работа с очередями в Python
  41. Сортировка данных с лямбда-функциями
  42. Декоратор Ajax required
  43. Конкатенация строк с join() в Python
  44. Работа с набором данных CIFAR10 в PyTorch
  45. Работа с модулем Calendar

Marketello читают маркетологи из крутых компаний