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

Python Junior Без компании
Как расставлять приоритеты у задач
Ответы
В Python для управления приоритетами задач часто используют модуль `queue.PriorityQueue` или `heapq`. **PriorityQueue** (потокобезопасный): ``` from queue import PriorityQueue q = PriorityQueue() q.put((1, 'Высокий приоритет')) # (приоритет, задача) q.put((3, 'Низкий приоритет')) q.put((2, 'Средний приоритет')) while not q.empty(): print(q.get()[1]) # Вывод: Высокий → Средний → Низкий ``` **heapq** (более легковесный): ``` 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` — для однопоточных сценариев.