Глубина подсчета или самый глубокий уровень, на который попадает вложенный список

У меня настоящая проблема (и головная боль) с назначением ...

Я нахожусь на вводном курсе программирования, и мне нужно написать функцию, которая, учитывая список, будет возвращать "максимальная" глубина, на которую он идет ... Например: [1,2,3] вернет 1, [1, [2,3]] вернет 2 ...

Я написал этот фрагмент кода (это лучшее, что я мог получить T_T)

def flat(l):
    count=0
    for item in l:
        if isinstance(item,list):
            count+= flat(item)
    return count+1

Однако очевидно, что это не работает так, как должно, потому что, если есть списки, которые не учитываются для максимальной глубины, он все равно поднимает счетчик ...

Например: когда я использую функцию с [1 , 2, [3,4], 5, [6], 7] он должен вернуть 2, но он вернет 3 ...

Мы будем очень благодарны за любые идеи или помощь ^^ Большое спасибо !! Я уже несколько недель борюсь с этим ...

22
задан dhcarmona 1 August 2017 в 18:02
поделиться