Mam do wyboru najdłuższą listę list w Pythonie.Wyszukiwanie najdłuższej listy na liście w Pythonie
Na przykład:
longest([1,2,3])
zwraca 3
longest([[[1,2,3]]])
również zwraca 3 (lista wewnętrzna wynosi 3)
longest([[], [3,[4,5],[2,3,4,5,3,3], [7], 5, [1,2,3], [3,4]], [1,2,3,4,5]])
powraca 7 (lista [3,[4,5],[2,3,4,5,3,3], [7], 5, [1,2,3], [3,4]]
zawiera 7 elementów)
chwili mam ten kod, ale nie daje rady z pierwszych dwóch przykładów.
def longest(list1):
longest_list = max(len(elem) for elem in list1)
return longest_list
Może rekurencja pomoże? Dziękujemy!
Czy znana jest maksymalna głębokość list, czy trzeba zachować tę ogólną? – vk1011
możesz sprawdzić, czy element listy nadrzędnej jest listą z [isinstance] (https://docs.python.org/2/library/functions.html#isinstance) - wtedy możesz sprawdzić długość tej listy rekurencyjnie . –