Назад к задачам
Junior — Senior
4

Расширить функцию flatten для обработки вложенных list и tuple

Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Необходимо улучшить функцию flat, чтобы она рекурсивно разворачивала любые вложенные списки и кортежи, собирая все элементы в единственный одномерный список.

mylist = [[1, 2, [3, [4, (5, (5.5, [5.8]))]]], 6, 7, 8]

def flat(arr, result=[]):
    for a in arr:
        if not isinstance(a, list):
            result.append(a)
        else:
            flat(a, result)
    return result

После доработки функция должна корректно обрабатывать как списки, так и кортежи, независимо от глубины вложения, и возвращать плоский список всех найденных элементов.