заводим результирующий список добавляем в стек кортеж из ссылки на обрабатываемый объект и индекса (ноль)
Заходим в цикл Берём из стека ссылку и индекс Идём по объекту Если взятый элемент не список/кортеж - добавляем в результирующий список Иначе сохраняем в стек текущий объект и индекс, добавляем в стек встреченный итерэбл и индекс (ноль), рестартим цикл Если стек пуст то выходим из циклп