Solución al Ejercicio: Devolver palabras con más de 5 letras
📋 Copiar código
def filtrar_y_ordenar_palabras_largas(lista_palabras):
"""
Toma una lista de palabras y devuelve una nueva lista con las palabras que tienen más de 5 letras,
ordenadas alfabéticamente.
Args:
lista_palabras: Una lista de cadenas de texto (palabras).
Returns:
Una nueva lista de cadenas de texto conteniendo las palabras de más de 5 letras, ordenadas alfabéticamente.
Devuelve una lista vacía si no hay palabras que cumplan el criterio.
"""
palabras_largas = [palabra for palabra in lista_palabras if len(palabra) > 5]
palabras_largas.sort()
return palabras_largas
# Ejemplo de uso
mi_lista_palabras = ["manzana", "pera", "plátano", "uva", "kiwi", "naranja", "limón"]
palabras_filtradas = filtrar_y_ordenar_palabras_largas(mi_lista_palabras)
print(f"Lista original de palabras: {mi_lista_palabras}")
print(f"Palabras de más de 5 letras (ordenadas): {palabras_filtradas}")
otra_lista = ["sol", "luna", "estrella", "planeta"]
otras_palabras_filtradas = filtrar_y_ordenar_palabras_largas(otra_lista)
print(f"\nOtra lista de palabras: {otra_lista}")
print(f"Palabras de más de 5 letras (ordenadas): {otras_palabras_filtradas}")
lista_corta = ["a", "b", "cde"]
palabras_cortas_filtradas = filtrar_y_ordenar_palabras_largas(lista_corta)
print(f"\nLista de palabras cortas: {lista_corta}")
print(f"Palabras de más de 5 letras (ordenadas): {palabras_cortas_filtradas}")
Explicación del Código:
-
def
filtrar_y_ordenar_palabras_largas(lista_palabras)::
- Define una función llamada
filtrar_y_ordenar_palabras_largas que toma una lista de palabras
(lista_palabras) como argumento.
-
"""Docstring...""":
- La cadena de documentación explica la
función, sus argumentos y lo que devuelve.
-
palabras_largas = [palabra for
palabra in lista_palabras if len(palabra) > 5]:
- Esta línea utiliza una
comprensión de lista para crear una nueva lista llamada
palabras_largas.
for palabra in lista_palabras:
Itera sobre cada palabra en la lista_palabras
original.
if len(palabra) > 5: Esta
es una condición. Se verifica si la longitud de la palabra
actual es mayor que 5.
palabra: Si la condición
if se cumple (la palabra tiene más de 5 letras), esa
palabra se incluye en la nueva lista palabras_largas.
- En resumen, esta línea crea una nueva
lista que contiene solo las palabras de la
lista_palabras
original que tienen más de 5 letras.
-
palabras_largas.sort():
- Este método se llama en la lista
palabras_largas. El método sort() ordena los
elementos de la lista in-place, es decir, modifica la
lista original en lugar de crear una nueva. Por defecto, sort()
ordena los elementos alfabéticamente (en orden ascendente).
-
return palabras_largas:
- La función devuelve la lista
palabras_largas, que ahora contiene solo las palabras de más de 5
letras de la lista original y están ordenadas alfabéticamente. Si no hay
palabras que cumplan el criterio, se devolverá una lista vacía.
-
Ejemplo de uso:
- Se definen tres listas de palabras de
ejemplo (
mi_lista_palabras, otra_lista,
lista_corta).
- Se llama a la función
filtrar_y_ordenar_palabras_largas con cada lista y el resultado
se imprime, mostrando las palabras filtradas y ordenadas.