Алгоритмы

Нахождение длины списка при помощи рекурсии

Описание задачи

Программа принимает на вход список и определяет его длину при помощи рекурсии.

Решение задачи

  1. Инициализируем переменную списком.
  2. Определяем рекурсивную функцию, которая принимает список в качестве аргумента.
  3. В качестве базового условия рекурсии примем наличие в списке элементов. Если на вход функции подается пустой список, то функция возвращает 0 и рекурсия останавливается.
  4. В противном случае функция выводит сумму 1 и рекурсивной функции, на вход которой подается исходный список без первого элемента.
  5. После окончания работы функции выводим результат на экран.
  6. Конец.

Исходный код

Ниже дан исходный код, который осуществляет вычисление длины списка с использованием рекурсии. Результаты работы программы также даны ниже.

def length(lst):
    if not lst:
        return 0
    return 1 + length(lst[1:])
a = [1, 2, 3]
print("Длина списка равна: ")
print(length(a))

Объяснение работы программы

  1. Инициализируем переменную a списком.
  2. Определяем рекурсивную функцию length(), которая принимает список в качестве аргумента.
  3. В качестве базового условия рекурсии примем наличие в списке элементов. Если на вход функции подается пустой список, то функция возвращает 0 и рекурсия останавливается.
  4. В противном случае функция выводит сумму 1 и рекурсивной функции length(), на вход которой подается исходный список без первого элемента. Это делается при помощи среза списка lst[1:].
  5. После окончания работы функции выводим результат на экран.

Результаты работы программы

Пример 1:
Длина списка равна: 
[1, 2, 3]
Ilyaragalin

Recent Posts

10 удалённых Python-вакансий

Если вы ищете работу на Python, на Talanto.work сейчас есть варианты для junior, middle, senior…

6 месяцев ago

Где искать Python-вакансии в 2026 году: зачем на Talanto.work появился отдельный сценарий поиска

Рынок Python-вакансий большой, но удобным его назвать сложно. Формально вакансий много, однако в реальном поиске…

6 месяцев ago

Срезы в Python со всеми подробностями

Срезы в Python — это больше, чем a[2:7]. В статье — быстрый разбор полезных приёмов:…

8 месяцев ago

Возведение в степень в Python: полное руководство

В этой статье мы рассмотрим возведение в степень в Python с помощью различных методов, от…

9 месяцев ago

Как удалить дубликаты из списка Python?

Дубликаты в списке Python — частая проблема. В статье показано, как быстро убрать повторы, в…

9 месяцев ago

Виртуальный (shared) хостинг от SpaceWeb: технический обзор

Услуга виртуального хостинга на SpaceWeb позволяет арендовать часть сервера (shared-сервера) и разместить на нём свой…

11 месяцев ago