Встречается на собеседованиях • сегодня

Как расставлять приоритеты у задач

В Python для управления приоритетами задач часто используют модуль queue.PriorityQueue или heapq.

PriorityQueue (потокобезопасный):

python
from queue import PriorityQueue

q = PriorityQueue()
q.put((1, 'Высокий приоритет'))  # (приоритет, задача)
q.put((3, 'Низкий приоритет'))
q.put((2, 'Средний приоритет'))

while not q.empty():
print(q.get()[1]) # Вывод: Высокий → Средний → Низкий

text

**heapq** (более легковесный):  
```python
import heapq

tasks = []
heapq.heappush(tasks, (1, 'Важная задача'))
heapq.heappush(tasks, (3, 'Несрочная задача'))
heapq.heappush(tasks, (2, 'Средняя задача'))

while tasks:
    print(heapq.heappop(tasks)[1])

Ключевые моменты:

  • Чем меньше число, тем выше приоритет.
  • Для сложных критериев можно использовать кортежи или классы с __lt__.
  • PriorityQueue подходит для многопоточности, heapq — для однопоточных сценариев.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы