Курс 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. Использование подчеркивания в REPL
  2. Управление асинхронными задачами с помощью Semaphore
  3. Получение значений из словарей
  4. Оператор Walrus: правильное использование
  5. Передача аргументов через **arguments
  6. Поиск подстроки в строке
  7. Модуль future Python
  8. Оператор Walrus в Python 3.8
  9. Получение ID текущего процесса
  10. Класс UserDict: дополнительная функциональность
  11. Работа со словарями Python
  12. Оператор += для объединения строк
  13. Операторы присваивания в Python
  14. Повторение элементов в Python
  15. Dict Comprehension в Python
  16. Переменные в Python
  17. JSON-esque в Python
  18. Создание графиков в терминале
  19. Управление фоновыми задачами в Python
  20. Роль ключевого слова self
  21. Замена подстроки
  22. Функция map() в Python
  23. Сортировка слиянием
  24. Улучшение читаемости кода в Python
  25. Подсчет количества элементов в списке
  26. Работа с OpenCV
  27. Разделение строки с помощью re.split()
  28. Создание инструмента обнаружения плагиата
  29. Приоритет операций в Python
  30. Операции с массивами в NumPy
  31. Транспонирование 2D-массива с помощью zip
  32. Измерение времени выполнения кода с помощью time
  33. Python: Фильтрация списков с помощью filter()
  34. Разрешение имен в Python
  35. Генерация ключей RSA
  36. Загрузка постов Instagram
  37. Измерение времени выполнения кода
  38. Рациональные числа в Python
  39. Расширение операции побитового «и» в Python
  40. Модуль inspect
  41. Оператор «not» в Python
  42. JMESPath в Python
  43. Преобразование регистра строк
  44. Работа с YAML в Python: PyYAML.
  45. Работа с библиотекой requests
  46. Параллельные вычисления в Python
  47. Удаление символов новой строки в Python.

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