Palíndromos en listas de palabras en Python

"Cada pequeño algoritmo es un reflejo: muestra tanto la lógica de la máquina como la creatividad de quien lo escribe."

Los palíndromos son palabras o frases que se leen igual de izquierda a derecha y de derecha a izquierda, como "oso", "radar" o "reconocer".
En programación, trabajar con listas de palabras y verificar cuáles son palíndromos es un ejercicio muy útil para practicar condicionales, bucles y comprensión de listas en Python.

En esta guía aprenderás cómo detectar palíndromos en una lista de palabras en Python, con ejemplos fáciles de entender y código reutilizable.

¿Qué es un palíndromo en una lista de palabras?

Cuando tenemos una lista en Python como:

palabras = ["radar", "oso", "python", "reconocer", "java"]

El objetivo es recorrer cada palabra y verificar si cumple con la condición de ser un palíndromo. El resultado esperado sería:

["radar", "oso", "reconocer"]

Cómo detectar palíndromos en listas de palabras

La lógica básica consiste en:

  1. Tomar cada palabra de la lista.
  2. Compararla con su versión invertida ([::-1]).
  3. Guardar las que sean iguales.

Ejemplo simple en Python

palabras = ["radar", "oso", "python", "reconocer", "java"]

palindromos = [p for p in palabras if p == p[::-1]]

print(palindromos)

Salida:

['radar', 'oso', 'reconocer']

Uso de funciones para mayor claridad

Podemos crear una función es_palindromo() para reutilizar en distintos proyectos:

def es_palindromo(palabra: str) -> bool:
    return palabra == palabra[::-1]

palabras = ["oro", "casa", "oso", "perro", "ana"]

palindromos = [p for p in palabras if es_palindromo(p)]
print(palindromos)

Salida:

['oro', 'oso', 'ana']

Ejemplo práctico con entrada del usuario

palabras = input("Ingresa palabras separadas por espacio: ").split()

palindromos = [p for p in palabras if p == p[::-1]]

print("Palíndromos encontrados:", palindromos)

Ejemplo de entrada:

oso casa radar luna reconocer

Salida:

Palíndromos encontrados: ['oso', 'radar', 'reconocer']

Ejercicios recomendados

  1. Modifica el código para ignorar mayúsculas y minúsculas ("Oso" también debe detectarse como palíndromo).
  2. Haz que el programa muestre el número total de palíndromos encontrados.
  3. Trabaja con frases completas y elimina los espacios antes de verificar.

Detectar palíndromos en listas de palabras con Python es una práctica excelente para mejorar tus habilidades en manipulación de strings, bucles y comprensión de listas. Este concepto puede ampliarse a proyectos más grandes, como filtros de texto, validadores de cadenas o análisis de datos lingüísticos.

También te puede interesar: