Las listas en Python se utilizan prácticamente en todas partes. En este material, veremos 4 maneras de encontrar la longitud de una lista de Python: usando funciones integradas, recursividad y bucles. La longitud de una lista se usa con más frecuencia para recorrer la lista y realizar diferentes operaciones con ella.
#1. Método len()
len()
es un método integrado de Python para encontrar la longitud de una lista. El método toma un parámetro de entrada: la lista misma. Como resultado, len()
devuelve un valor entero: la longitud de la lista. Este método también funciona con otros objetos iterativos, como las cadenas.
Aplicación:
Country_list = ["Estados Unidos de América", "España", "Francia", "Alemania"]
count = len(Country_list)
print("Hay", count, "países")
Salida:
Hay 4 países
#2. Encontrar la longitud de una lista usando un bucle
La longitud de una lista se puede encontrar usando un bucle for
. Para ello, es necesario recorrer toda la lista, incrementando el contador en 1 por cada iteración. Definamos una función separada para esto:
def list_length(list):
counter = 0
for i in list:
counter=counter+1
return counter
Country_list = ["Estados Unidos de América", "España", "Francia", "Alemania", "Japón"]
count = list_length(Country_list)
print("Hay", count, "países")
Salida:
Hay 5 países
#3. Encontrar la longitud de una lista usando recursividad
El problema de encontrar la longitud de una lista se puede resolver usando recursividad. Aquí está el código:
def list_length_recursive(list):
if not list:
return 0
return 1 + list_length_recursive(list[1:])
Country_list = ["Estados Unidos de América", "España", "Francia", "Alemania", "Japón", "Polonia"]
count = list_length_recursive(Country_list)
print("Hay", count, "países")
Salida:
Hay 6 países
Cómo funciona: La función list_length_recursive()
recibe una lista como entrada. Si no contiene elementos, devuelve 0 (la longitud de una lista vacía es cero). Si tiene elementos, llama a la función recursiva con el argumento list[1:]
, es decir, una porción de la lista original a partir del elemento 1, o sea, la lista sin el elemento en el índice 0. El resultado de esta función se suma a 1. Por cada recursión, result
aumenta en una unidad y la lista disminuye en un elemento.
#4. Método length_hint()
El método length_hint()
pertenece al módulo operator
. El módulo operator
incluye funciones similares a los operadores internos de Python: suma, resta, comparación, etc. El método length_hint()
devuelve la longitud de los objetos iterativos: cadenas, tuplas, diccionarios y listas. length_hint()
funciona de manera similar al método len()
:
from operator import length_hint
Country_list = ["Estados Unidos de América", "España", "Francia", "Alemania", "Japón", "Polonia", "Suecia"]
count = length_hint(Country_list)
print("Hay", count, "países")
Salida:
Hay 7 países
Para usar length_hint()
, es necesario importarlo.
Conclusión
En este material, hemos revisado 4 maneras de encontrar la longitud de una lista en Python. El método más óptimo en igualdad de condiciones es len()
. La complejidad de su funcionamiento es O(1) y la aplicación de otros métodos está justificada para la implementación de clases propias similares a list
. Si quieres aprender Python más a fondo, lee otras de nuestras publicaciones sobre el trabajo con Python.