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.