Python - imprimindo várias palavras mais curtas e mais longas de uma lista


Eu preciso passar por uma lista e imprimir as palavras mais longas nele. Eu posso fazer isso por apenas uma palavra, mas não consigo descobrir como imprimir mais de uma, se houver duas palavras com três letras, por exemplo. eu tentei

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

Isso funciona, mas só imprime o primeiro mais longo, o que não é bom para mais de uma palavra mais longa.

Eu também tentei:

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

Isso também é o mesmo que o código anterior

Eu também preciso fazer isso para a palavra mais curta da lista.

Desculpas se esta não é uma boa pergunta, é o meu primeiro.

questionAnswers(6)

yourAnswerToTheQuestion