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:
- Tomar cada palabra de la lista.
- Compararla con su versión invertida (
[::-1]
). - 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
- Modifica el código para ignorar mayúsculas y minúsculas (
"Oso"
también debe detectarse como palíndromo). - Haz que el programa muestre el número total de palíndromos encontrados.
- 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: