Курс 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. Метод __iand__ для пользовательских классов
  2. Проверка окончания строки с помощью str.endswith()
  3. Установка и использование Logzero
  4. Функции any() и all() в Python
  5. Основы работы с os
  6. Замыкания в Python
  7. Чтение и запись TOML-конфигов
  8. Работа с итераторами через срезы
  9. Область видимости переменных в Python
  10. Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
  11. Функции с дополнением
  12. Создание новых списков
  13. Переопределение метода len
  14. Расчет времени выполнения программы
  15. Метод join для объединения строк
  16. Установка и использование библиотеки google
  17. Функция map() в Python
  18. Работа с базами данных SQLite
  19. Python itertools combinations() — группировка элементов
  20. enumerate() в Python для работы с индексами
  21. Форматирование заголовков в Python
  22. Получение обратного списка чисел
  23. Возврат нескольких значений
  24. Поиск шаблона в начале строки
  25. Декоратор защиты анонимных пользователей
  26. Преобразование чисел в восьмеричную строку
  27. Управление ресурсами в Python
  28. Упрощенный вывод данных в Python
  29. Измерение времени выполнения кода
  30. Создание Radio кнопок в tkinter
  31. Лимиты на ресурсы Python
  32. Отладка кода
  33. Генератор надежных паролей
  34. Генератор списка в Python
  35. Преобразование в float
  36. Удаление URL-адресов в Python
  37. Преобразование строк в числа в Python
  38. Построение графиков в терминале с bashplotlib
  39. Логирование в Python
  40. Декораторы в Python
  41. Фильтрация последовательности
  42. Возведение в квадрат с помощью itertools
  43. Метод __index__ в Python
  44. Каналы Senior: Python, Java, Frontend, SQL, C++
  45. Переопределение метода delitem в Python
  46. Python: отличительная особенность — отступы
  47. Поиск наиболее частого элемента списке
  48. Запуск внешних программ с subprocess
  49. Перевод эмодзи и эмотиконов.

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