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.

  • 🔢 Sintaxis: len(object) toma un único argumento y devuelve un número entero, la cantidad total de elementos que contiene.
  • 🔠 Cuerdas: Para una cadena de caracteres, la función len() cuenta todos los caracteres, incluidos los espacios, los dígitos y los signos de puntuación.
  • 📦 Colecciones: La función len() mide el tamaño de listas, tuplas, diccionarios, conjuntos y objetos de rango de la misma manera.
  • ⚙️ Actuación: len() se ejecuta en tiempo constante O(1) porque Python Almacena la longitud de cada objeto como un atributo.
  • 🚫 Error de tecleado: Llamar a len() en un entero o None genera un TypeError, ya que esos tipos no tienen longitud.
  • 🤖 Asistencia de IA: Los asistentes de codificación de IA generan comprobaciones len(), y las canalizaciones de aprendizaje automático utilizan len() para rellenar y agrupar secuencias.

Python función len()

¿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

Preguntas Frecuentes

Sí. len() cuenta cada carácter en una cadena, incluyendo espacios, tabulaciones, dígitos y signos de puntuación. Por ejemplo, len(“Guru 99!”) devuelve 8, porque el espacio y el signo de exclamación se cuentan cada uno como un carácter.

len() devuelve 0 para una cadena vacía, porque no contiene caracteres. La función len() no tiene índice cero; cuenta los elementos a partir del uno, por lo que len("a") devuelve 1 y len("") devuelve 0.

Los enteros no almacenan múltiples elementos, por lo que no tienen longitud. Llamar a len(123) genera el error “TypeError: object of type 'int' has no len()”. Convierta primero el número con len(str(123)) cuando desee contar sus dígitos.

Sí. En el caso de un diccionario, len() devuelve el número de pares clave-valor, contando cada par una sola vez. En el caso de un conjunto, len() devuelve el número de elementos únicos, ya que un conjunto descarta automáticamente los valores duplicados.

La función len() devuelve el número de puntos de código Unicode en una cadena, por lo que la mayoría de las letras y símbolos acentuados cuentan como uno. Sin embargo, algunos emojis y caracteres combinados utilizan varios puntos de código, por lo que len() puede indicar más de uno para ellos.

Pasa `len` como clave a la función `max()`: `max(words, key=len)` devuelve la cadena más larga de la lista. Del mismo modo, `min(words, key=len)` devuelve la más corta. Esto evita tener que escribir un bucle manual para comparar cada longitud.

Los sistemas de aprendizaje automático utilizan constantemente la función len() para comprobar el tamaño de los conjuntos de datos, confirmar que las características y las etiquetas coinciden, y medir la longitud de las secuencias. Los modelos suelen rellenar o truncar el texto hasta alcanzar un valor len() igual, de modo que los lotes de datos tengan la misma estructura.

Sí. GitHub Copilot autocompleta las comprobaciones de len() y los bucles de conteo a partir de un breve comentario que describa tu objetivo. Los asistentes de IA de Agentic van más allá: escriben la lógica de validación de longitud, añaden cláusulas de protección contra TypeError y ejecutan las pruebas automáticamente.

Resumir este post con: