Python Función len(): Cómo encontrar la longitud de la cadena
⚡ Resumen inteligente
Python len() es una función integrada que devuelve el número de elementos en un objeto, como los caracteres en una cadena o los elementos en una lista, tupla, diccionario o conjunto.

¿Qué es el Python ¿Función len()?
El len () La función es una función integrada en PythonPuedes usar `len()` para obtener la longitud de una cadena, matriz, lista, tupla, diccionario u otro objeto. Dado que el número de elementos se almacena en el objeto en lugar de recalcularse cada vez, `len()` te ayuda a comprobar el tamaño rápidamente y a optimizar el rendimiento de tu programa.
Sintaxis de la Python función len()
El Python La función len() utiliza la siguiente sintaxis:
len(value)
Parámetros
valor: El objeto dado —como una cadena, una lista, una tupla, un diccionario o un conjunto— cuya longitud desea medir.
Valor de retorno
len() devuelve un número entero, es decir, la cantidad de caracteres en una cadena o la cantidad de elementos en una matriz, lista o colección. El significado exacto del valor devuelto depende del tipo de objeto que se le pase:
- Cuerdas: len() devuelve el número de caracteres de la cadena, incluyendo signos de puntuación, espacios y cualquier tipo de carácter especial.
- Vacío: Una cadena vacía o una colección vacía devuelve 0, porque no contiene ningún elemento.
- Colecciones: La función integrada len() devuelve el número de elementos almacenados en una colección.
- Error de tecleado: len() depende del tipo de objeto que se le pasa. Pasar un valor que no tiene longitud, como un entero, genera un TypeError.
- Diccionario: En un diccionario, cada par clave-valor se cuenta como una unidad, por lo que len() devuelve el número de claves.
Ejemplos de Python función len()
Los siguientes ejemplos muestran cómo usar la función len() para encontrar la longitud de diferentes Python objetos, incluyendo una cadena, una lista, una tupla, un diccionario y una matriz.
Ejemplo 1: Cómo encontrar la longitud de una cadena
# testing len()
str1 = "Welcome to Guru99 Python Tutorials"
print("The length of the string is :", len(str1))
Salida:
The length of the string is : 35
Ejemplo 2: Cómo encontrar la longitud de una lista
# to find the length of the list
list1 = ["Tim","Charlie","Tiffany","Robert"]
print("The length of the list is", len(list1))
Salida:
The length of the list is 4
Ejemplo 3: Cómo hallar la longitud de una tupla
# to find the length of the tuple
Tup = ('Jan','feb','march')
print("The length of the tuple is", len(Tup))
Salida:
The length of the tuple is 3
Ejemplo 4: Cómo averiguar la longitud de un diccionario
# to find the length of the Dictionary
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print("The length of the Dictionary is", len(Dict))
Salida:
The length of the Dictionary is 4
Ejemplo 5: Cómo hallar la longitud de un array
# to find the length of the array
arr1 = ['Tim','Charlie','Tiffany','Robert']
print("The length of the Array is", len(arr1))
Salida:
The length of the Array is 4
Cómo encontrar la longitud de una cadena sin len() en Python
La función len() es la forma más rápida y legible de medir una cadena, pero también puedes contar los caracteres manualmente. Este es un ejercicio común en las entrevistas de programación, y todos los métodos simplemente recorren la cadena mientras incrementan un contador.
El método más común utiliza un bucle for:
# length of a string without len()
mystr = "Guru99"
count = 0
for char in mystr:
count += 1
print("The length is", count)
Salida:
The length is 6
Una opción más corta utiliza la función sum() con una expresión generadora, sumando 1 por cada carácter de la cadena:
mystr = "Guru99"
length = sum(1 for char in mystr)
print("The length is", length)
Salida:
The length is 6
Otras formas de contar caracteres sin usar len() incluyen las siguientes:
- Un bucle while que divide la cadena hasta que quede vacía, incrementando un contador en cada iteración.
- La función enumerate(), que tracks el índice de cada carácter a medida que itera.
- Una función recursiva que devuelve 1 más la longitud de la subcadena restante.
Estos métodos manuales son más lentos que la función integrada len(), así que resérvalos para aprender o practicar para entrevistas. En el código cotidiano, len() sigue siendo la opción más rápida y clara.
Cómo hace el Python ¿Funciona internamente la función len()?
Entender cómo funciona len() explica por qué es tan rápido. Cuando llamas a len() en un objeto, Python No escanea cada elemento uno por uno. En cambio, llama al método especial __len__() del objeto, lo que significa que la expresión len(x) es equivalente a x.__len__().
Los contenedores integrados como cadenas, listas, tuplas, diccionarios y conjuntos almacenan su propio tamaño como un atributo. Cada vez que agrega o elimina un elemento, Python Actualiza este contador almacenado. Cuando se llama a len(), simplemente lee ese valor prealmacenado y lo devuelve.
Como la longitud ya se conoce, len() se ejecuta en tiempo constante, escrito como O(1). Tarda el mismo tiempo tanto si el objeto contiene cinco elementos como cinco millones. También puedes añadir compatibilidad con len() a tus propias clases definiendo un método __len__() que devuelva un entero:
class Team:
def __len__(self):
return 11
squad = Team()
print(len(squad))
Salida:
11
Este diseño es la razón por la que len() se comporta de manera consistente en todos los tipos integrados, así como en cualquier objeto personalizado que implemente un método __len__().
" Aprender más acerca de Python Métodos de cadena
