Python:Рецепты/Оставляем N последних элементов: различия между версиями
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Myagkij (обсуждение | вклад) (Новая страница: «{{Python/Панель перехода}} {{Myagkij-редактор}} =Оставляем N последних элементов= ==Задача== Вы хот...») |
Myagkij (обсуждение | вклад) (→Пример) |
||
Строка 30: | Строка 30: | ||
Посмотрим, что находится в q(это вводить не надо): | Посмотрим, что находится в q(это вводить не надо): | ||
<syntaxhighlight lang="python | <syntaxhighlight lang="python" enclose="div"> | ||
deque([1, 2, 3, 4, 5], maxlen=5) | deque([1, 2, 3, 4, 5], maxlen=5) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 36: | Строка 36: | ||
Добавим следующий элемент: | Добавим следующий элемент: | ||
<syntaxhighlight lang="python | <syntaxhighlight lang="python" enclose="div"> | ||
q.append(6) | q.append(6) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 42: | Строка 42: | ||
Посмотрим, что находится в q(это вводить не надо): | Посмотрим, что находится в q(это вводить не надо): | ||
<syntaxhighlight lang="python | <syntaxhighlight lang="python" enclose="div"> | ||
deque([2, 3, 4, 5, 6], maxlen=5) | deque([2, 3, 4, 5, 6], maxlen=5) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Как видим 1 слева пропала, 6 справа добавилось. | |||
===№2=== | ===№2=== | ||
Строка 57: | Строка 59: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=См.также= | =См.также= |
Версия от 00:06, 22 апреля 2020
Проверка/Оформление/Редактирование: Мякишев Е.А.
Оставляем N последних элементов
Задача
Вы хотите хранить ограниченное количество элементов, которое вы получаете в ходе выполнения итерации.
Решение
Для решения данной задачи подойдет collections.deque.
Пример
№1
deque(maxlen=N) создает очередь фиксированной длины. После заполнения очереди, самый старый элемент удаляется.
from collections import deque
q = deque(maxlen=5)
q.append(1)
q.append(2)
q.append(3)
q.append(4)
q.append(5)
Посмотрим, что находится в q(это вводить не надо):
deque([1, 2, 3, 4, 5], maxlen=5)
Добавим следующий элемент:
q.append(6)
Посмотрим, что находится в q(это вводить не надо):
deque([2, 3, 4, 5, 6], maxlen=5)
Как видим 1 слева пропала, 6 справа добавилось.
№2
Результат:
См.также
Внешние ссылки
Категории:
- Страницы с устаревшим атрибутом подсветки синтаксиса «enclose»
- Справочник языка Python
- Python
- Проверка:myagkij
- Оформление:myagkij
- Редактирование:myagkij
- SEO
- Рецепты
- Рецепты Python
- Последовательности в Python
- Работа с последовательностями в Python
- Распаковка в Python
- Работа со структурами данных в Python
- Структуры данных Python
- Последовательности
- Работа с последовательностями
- Распаковка
- Работа со структурами данных
- Структуры данных