Программа принимает на вход список, состоящий из других списков, и возвращает обычный список, в котором присутствуют все элементы из вложенных списков. Эта операция производится при помощи рекурсии.
Ниже дан исходный код, который осуществляет выпрямление списка с использованием рекурсии. Результаты работы программы также даны ниже.
def flatten(s): if s == []: return s if isinstance(s[0], list): return(flatten(s[0]) + flatten(s[1:])) return(s[:1] + flatten(s[1:])) s = [[1, 2], [3, 4]] print("Выпрямленный список: ", flatten(s))
s
списком, в котором содержатся вложенные списки.flatten()
для преобразования в обычный список.isinstance(s[0], list)
.flatten(s[0]) + flatten(s[1:]
.s[:1] + flatten(s[1:]
. Таким образом мы можем «распрямить» списки со сколь угодно глубокими вложениями.Пример 1: Выпрямленный список: [1, 2, 3, 4]
Управление памятью - важный, но часто упускаемый из виду аспект программирования. При неправильном подходе оно…
Как возникает круговой импорт? Эта ошибка импорта обычно возникает, когда два или более модуля, зависящих…
Вы когда-нибудь оказывались в ситуации, когда скрипт на Python выполняется очень долго и вы задаетесь…
В этом руководстве мы разберем все, что нужно знать о символах перехода на новую строку…
Блок if __name__ == "__main__" в Python позволяет определить код, который будет выполняться только при…
Давайте разберем, как настроить модульные тесты для экземпляров классов. Мы напишем тесты для проверки функциональности…