Найти - Пользователи
Полная версия: нужна помощь с рекурсией
Начало » Центр помощи » нужна помощь с рекурсией
1
Emma
Здравствуйте!
Программа вычисляет число элементов в списке:
Например
[1,2,2]  3
               [1, [2,2], 3]  4
Помогите пожалуйста написать ее в рекурсивном виде, чтоба можно было использовать для таких списков
[1,[2,[5,[6,8,9]]]]

def f_len(lst):
    a=0
    for element in lst:
        if type(element)==list:
            for e in element:
                if type(e)==list:
                    a =a + len(e)
                else:
                    a=a+1    
        else:
            a = a+1
    return a
Заранее Спасибо!
terabayt
def f(a):
    n = 0
    for i in a:
        if isinstance(i, list):
            n += f(i)
        else:
            n += 1
    return n
или так
def f(a):
    return sum(f(i) if isinstance(i, list) else 1 for i in a)
Emma
Большое Спасибо!!!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB