Курс 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. Поиск подстроки в строке
  2. Работа с дробями в Python
  3. Динамические маршруты во Flask
  4. Поиск email
  5. Синхронизация потоков с time.sleep()
  6. Python: цикл for и оператор присваивания
  7. Обход дочерних элементов BeautifulSoup
  8. Множественное наследование в Python
  9. Модуль subprocess: запуск внешних команд
  10. Progress с библиотекой tqdm
  11. Извлечение новостей с newspaper3k
  12. Управление памятью в numpy.
  13. Создание объекта времени
  14. Печать календаря в Python
  15. Обновление шаблона base.html
  16. Распаковка аргументов в Python
  17. Операторы Splat и splatty-splat
  18. Concrete Paths в Python
  19. Транспонирование 2D-массива с помощью zip
  20. Проектирование Singleton с метаклассом
  21. Форматирование данных с помощью pprint
  22. Преобразование символов в нижний регистр
  23. Метод getitem для доступа к элементам последовательности
  24. Сложные типы данных в Python
  25. Получение размера объекта с sys.getsizeof()
  26. Переименование файлов в Python
  27. Объединение словарей в Python
  28. Удаление элемента по индексу
  29. Конкатенация строковых литералов
  30. Обработка ошибок в Python
  31. Подсчет элементов в списке с Counter
  32. Транспонирование 2D-массива с помощью zip
  33. Использование обратной косой черты в f-строках
  34. Работа с zip-архивами в Python
  35. Метод radd для пользовательских чисел
  36. Работа с YAML в Python
  37. Отрицательные индексы списков
  38. Логические значения в Python
  39. Функция format() в Python
  40. Многострочные комментарии в Python
  41. Генераторы в Python
  42. Генераторы в Python
  43. Секреты Python
  44. Скачать видео с YouTube
  45. Форматирование вывода с F-строками
  46. Основные функции и модули Python

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