Курс Python → Структура данных deque в Python

Класс collections.deque() в Python представляет собой удобную структуру данных, объединяющую в себе возможности как стека, так и очереди. Он представляет собой двустороннюю очередь, позволяющую добавлять и извлекать элементы как с начала, так и с конца последовательности. Это делает его особенно удобным для решения задач, требующих работы с данными в порядке их поступления или обработки.

Одним из главных преимуществ deque() является его эффективность. Операции добавления и извлечения элементов в deque() выполняются за константное время O(1) в любом направлении. Это означает, что даже при большом количестве элементов в очереди время выполнения операций остается почти неизменным, что делает deque() отличным выбором для задач, где производительность имеет значение.

Пример использования deque() в Python:


from collections import deque

# Создаем пустую двустороннюю очередь
queue = deque()

# Добавляем элементы в начало и конец очереди
queue.appendleft(1)
queue.append(2)

# Извлекаем элементы с начала и конца очереди
print(queue.popleft())  # Вывод: 1
print(queue.pop())      # Вывод: 2

В данном примере мы создаем пустую двустороннюю очередь, добавляем элементы в начало и конец очереди с помощью методов appendleft() и append(), а затем извлекаем элементы из очереди с помощью методов popleft() и pop(). Это лишь один из множества способов использования deque() для решения различных задач в Python.

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

Автор урока

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

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

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

  1. Работа с модулем random
  2. Проверка ввода с помощью isdigit
  3. Генераторные выражения и islice.
  4. Сортировка данных с лямбда-функциями
  5. Функции map() и reduce() в Python
  6. Итерации в Python
  7. Возврат нескольких значений
  8. Создание функций высшего порядка
  9. Тестирование с unittest
  10. Оценка выражений генератора в Python
  11. Методы shutil для работы с файлами
  12. Наследование в программировании
  13. Генераторы в Python
  14. Работа с набором данных CIFAR10 в PyTorch
  15. Генераторы списков в Python
  16. Декораторы с @wraps
  17. Блок else в циклах Python
  18. Объединение словарей в Python
  19. Профилирование с Pandas
  20. Избегайте двойного подчеркивания
  21. Переопределение метода __rshift__
  22. Инициализация объекта
  23. Обработка исключений в Python
  24. Генератор списка с условием if
  25. Описание скриптов в README
  26. Модуль sys: основы
  27. Модуль future Python
  28. Установка Home Assistant
  29. Работа с модулем random
  30. Работа с zip()
  31. Форматирование данных с pprint
  32. Скачать видео с YouTube
  33. Python UserString — создание подклассов строк
  34. Модуль math: константы π и e
  35. Объединение итераторов
  36. Измерение времени выполнения кода с помощью time
  37. Взаимодействие с sys
  38. Переворот последовательности
  39. Разработка Telegram-ботов
  40. Работа со словарями
  41. Нахождение отличий в списках
  42. Работа с рекламными данными в Pandas
  43. Создание графиков в терминале
  44. Возврат нескольких значений
  45. Метод ior для битовых операций
  46. Concrete Paths — метод .with_suffix()
  47. Метод setdefault() в Python
  48. Переворот списка в Python
  49. Метод hash в Python

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