Dada una lista de listas, escriba un programa Python para encontrar la lista con la longitud máxima. La salida debe tener el formato (list, list_length) .
Ejemplos:
Input : [['A'], ['A', 'B'], ['A', 'B', 'C']] Output : (['A', 'B', 'C'], 3) Input : [[1, 2, 3, 9, 4], [5], [3, 8], [2]] Output : ([1, 2, 3, 9, 4], 5)
Analicemos diferentes enfoques para resolver este problema.
Enfoque n.º 1: uso de bucle for (ingenuo)
Este es un método de fuerza bruta en el que iteramos a través de cada elemento de la lista (lista) y encontramos la lista con la longitud máxima. De manera similar, usamos el ciclo for para encontrar la longitud de cada lista y generar la longitud máxima.
# Python3 program to Find maximum # length list in a nested list def FindMaxLength(lst): maxList = max((x) for x in lst) maxLength = max(len(x) for x in lst ) return maxList, maxLength # Driver Code lst = [['A'], ['A', 'B'], ['A', 'B', 'C']] print(FindMaxLength(lst))
(['A', 'B', 'C'], 3)
Enfoque n.º 2: uso map
En este método, usamos la función de mapa de Python para iterar sobre las listas internas para crear una lista de longitudes y luego obtener el máximo con la función max.
# Python3 program to Find maximum # length list in a nested list def FindMaxLength(lst): maxList = max(lst, key = len) maxLength = max(map(len, lst)) return maxList, maxLength # Driver Code lst = [['A'], ['A', 'B'], ['A', 'B', 'C'], ] print(FindMaxLength(lst))
(['A', 'B', 'C'], 3)
Enfoque #3: Usar el lambda
operador
Un método más en Python para encontrar la lista de mayor longitud es el operador lambda. Se utiliza para crear objetos de función pequeños, únicos y anónimos en Python. Aquí pasamos una variable i como argumento en la expresión len(i) y encontramos la longitud máxima.
# Python3 program to Find maximum # length list in a nested list def FindMaxLength(lst): maxList = max(lst, key = lambda i: len(i)) maxLength = len(maxList) return maxList, maxLength # Driver Code lst = [['A'], ['A', 'B'], ['A', 'B', 'C']] print(FindMaxLength(lst))
(['A', 'B', 'C'], 3)
Publicación traducida automáticamente
Artículo escrito por Smitha Dinesh Semwal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA