Код Middle asyncio обновлено
Порядок вывода задач с sleep(0)
Условие
Смоделируйте цикл событий. Каждая задача это список строк; задача печатает строку, затем делает await asyncio.sleep(0) (уступает управление) и печатает следующую. Задачи созданы через gather в порядке списка, планировщик выполняет готовые задачи по кругу в порядке очереди. Верните итоговый вывод списком строк.
Примеры
interleave([["a1", "a2"], ["b1", "b2"]]) // ["a1", "b1", "a2", "b2"]
interleave([["a1", "a2", "a3"], ["b1"]]) // ["a1", "b1", "a2", "a3"]
interleave([]) // []
Как подойти
Подсказки: 1
- Очередь
dequeзадач, задача после шага встаёт в конец.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.