Нашли ошибку?

Разгладить вложенный список

СредняяРеализацияГлава 3

#рекурсивный случай#вложенные структурыid: ga-flatten

Заказ в интернет-магазине — список, где каждый элемент либо артикул товара (целое число), либо набор — такой же список любой глубины. Напишите рекурсивную функцию flatten(items): она возвращает плоский список всех артикулов в исходном порядке.

Примеры

flatten([1, [2, 3], [[4]], 5])     # [1, 2, 3, 4, 5]
flatten([[], [[]], 7])              # [7]
flatten([3, [3, [3]]])              # [3, 3, 3] — дубликаты сохраняются

Ограничения

Решение

def flatten(items: list) -> list[int]:
    """Возвращает все числа из вложенного списка в исходном порядке."""
    # ваш код
    raise NotImplementedError

Можно решать и в своём редакторе: «Скопировать с тестами» и запустите python3 flatten.py — тесты те же, результат покажет ✓ / ✗ и итог.