Python: imprime varias palabras más cortas y largas de una lista


Necesito revisar una lista e imprimir las palabras más largas. Puedo hacer esto por una sola palabra, pero no puedo imaginar cómo imprimir más de una, si hay dos palabras que tienen tres letras, por ejemplo. He intentado

list.sort (key=len, reverse =True)
print ("The longest word in the list is: " , list[0])

Esto funciona, pero solo imprime el primero más largo, lo cual no sirve para más de una palabra más larga.

También he intentado:

p=0
for item in list:
    if len (item) > p:
        s=item
        p = len(item)
print (s)

Esto también lo mismo que el código anterior.

También necesito hacer esto para la palabra más corta de la lista.

Disculpas si esta no es una buena pregunta, es mi primera.

Respuestas a la pregunta(6)

Su respuesta a la pregunta