Las listas en Python se utilizan prácticamente en todas partes. En este tutorial veremos cuatro formas de encontrar la longitud de una lista en Python: usando funciones integradas, recursión y un bucle. Conocer la longitud de una lista suele ser necesario para iterar sobre ella y realizar varias operaciones.
len() es una función integrada de Python para obtener la longitud de una lista. Acepta un único argumento — la lista — y devuelve un número entero igual a su longitud. La misma función también funciona con otros objetos iterables, como cadenas de texto.
Country_list = ["The United States of America", "Cyprus", "Netherlands", "Germany"]
count = len(Country_list)
print("There are", count, "countries")
Salida:
There are 4 countries
Puedes determinar la longitud de una lista en Python usando un bucle for. La idea es recorrer toda la lista mientras incrementas un contador en 1 en cada iteración. Vamos a encapsular esto en una función aparte:
def list_length(list):
counter = 0
for i in list:
counter = counter + 1
return counter
Country_list = ["The United States of America", "Cyprus", "Netherlands", "Germany", "Japan"]
count = list_length(Country_list)
print("There are", count, "countries")
Salida:
There are 5 countries
La misma tarea puede resolverse mediante recursión:
def list_length_recursive(list):
if not list:
return 0
return 1 + list_length_recursive(list[1:])
Country_list = ["The United States of America", "Cyprus", "Netherlands","Germany", "Japan", "Poland"]
count = list_length_recursive(Country_list)
print("There are", count, "countries")
Salida:
There are 6 countries
Cómo funciona. La función list_length_recursive() recibe una lista como entrada.
Si la lista está vacía, devuelve 0 — la longitud de una lista vacía.
De lo contrario, se llama a sí misma recursivamente con el argumento list[1:], un segmento de la lista original que empieza en el índice 1 (es decir, la lista sin el elemento en el índice 0). El resultado de esa llamada se suma a 1. Con cada paso recursivo el valor retornado aumenta en uno mientras la lista se reduce en un elemento.
La función length_hint() pertenece al módulo operator. Ese módulo contiene funciones análogas a los operadores internos de Python: suma, resta, comparación y otros. length_hint() devuelve la longitud de objetos iterables como cadenas, tuplas, diccionarios y listas. Funciona de manera similar a len():
from operator import length_hint
Country_list = ["The United States of America", "Cyprus", "Netherlands","Germany", "Japan", "Poland", "Sweden"]
count = length_hint(Country_list)
print("There are", count, "countries")
Salida:
There are 7 countries
Ten en cuenta que length_hint() debe importarse antes de usarla.
En esta guía hemos visto cuatro formas de determinar la longitud de una lista en Python. En igualdad de condiciones, el método más eficiente es len(). Los otros enfoques se justifican principalmente cuando estás implementando clases personalizadas similares a una lista.