Les plus longues chaînes de la liste

J'ai été faire une fonction qui renvoie le plus long de la chaîne de valeur à partir d'une liste. Mon code fonctionne quand il n'y a qu'une seule chaîne avec la plupart des caractères. J'ai essayé de faire imprimer tous de la plus longue des chaînes si il n'y avait plus d'un, et je ne tiens pas à être répété. Lorsque je l'exécute, il ne renvoie "bonjour", alors que je le veux retourner "ohman" et "yoloo' également. Je crois que le problème est dans la ligne de if item not list:mais j'ai tout essayé et ça ne fonctionne pas.

list = ['hi', 'hello', 'hey','ohman', 'yoloo', 'hello']
def length(lists):
    a = 0 
    answer = ''
    for item in lists:
        x = len(item) 
    if x > a:
        a = x
        answer = item
    elif x == a:
        if item not in list:
            answer = answer + ' ' + item
    return answer
print length(list)

source d'informationauteur fifiman