Курс 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. Генерация случайных данных в NumPy
  2. Метод Enumerate() для списков
  3. Concrete Paths в Python
  4. Работа с датой и временем в Python
  5. Улучшение читаемости кода в Python
  6. Классы данных в Python
  7. PUT запрос для обновления данных
  8. Сравнение неупорядоченных списков
  9. Отображение графиков в Jupyter с Matplotlib
  10. CLI-инструмент howdoi
  11. Создание списка через цикл
  12. Создание namedtuple списком полей
  13. Настройка вывода NumPy
  14. Регистрация на TenChat
  15. Копирование объектов в Python
  16. Модуль Operator в Python
  17. Метод lt для сортировки объектов
  18. Класс UserDict: дополнительная функциональность
  19. Транспонирование 2D-массива с помощью zip
  20. Запуск внешнего кода в Jupyter
  21. Работа с f-строками 2.0
  22. Функции map() и reduce() в Python
  23. Изменения в обработке логических значений
  24. Управление User-Agent в Python
  25. Создание матрицы в Python
  26. Утечки переменных цикла в Python 3.x
  27. Генераторы в Python
  28. Логирование с Logzero
  29. Извлечение аудио из видео
  30. Объединение Python и Shell
  31. Форматирование строк в Python
  32. Сравнение строк в Python
  33. Метод join для объединения строк
  34. Модуль Antigravity в Python 3
  35. Транспонирование 2D-массива с помощью zip
  36. Курсы Яндекс Практикум
  37. Хэш-функции и метод цепочек
  38. Counter() — подсчет элементов
  39. Функции с необязательными аргументами
  40. Значения по умолчанию в Python
  41. Создание словарей и множеств в Python.
  42. Инициализация структур данных
  43. Метод ior для битовых операций
  44. Оценка выражений генератора в Python
  45. Оператор «моржа» (Walrus Operator)
  46. Удаление символов новой строки в Python.

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