2 usuarios conectados

Devolver palabras con más de 5 letras en Python

Comparte esto

 
Escribe un código en Python que tome una lista de palabras y devuelva una nueva lista con las palabras que tienen más de 5 letras, ordenadas alfabéticamente.


Más ejercicios




Mostrar/Ocultar ejercicio resuelto


  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:

  1. 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.
  2. """Docstring...""":

    • La cadena de documentación explica la función, sus argumentos y lo que devuelve.
  3. 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.
  4. 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).
  5. 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.
  6. 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.