Показать все самые длинные слова в списке в Python - PullRequest
0 голосов
/ 01 марта 2020

Я хочу отобразить все слова, которые являются самыми длинными в списке. Я использовал функцию max, однако функция max возвращает только первую из самых больших строк в списке, то есть «иметь». Как мне заставить его распечатать все самые длинные элементы строки?

Желательный результат: 'have' 'was' 'good' output output: 'have'

def longestWord(input_str):
    input_list = input_str.split()
    return max(input_list, key=len)

longestWord("I have been good")

output: 'have'

1 Ответ

0 голосов
/ 01 марта 2020

попробуйте этот код, который сравнивает len всех элементов с max len, затем добавляет его в другой список

def longestWord(input_str):
input_list = input_str.split()
lenght = len(max(input_list, key=len))
allMax=[]
for f in input_list:
    if len(f) == lenght:
       allMax.append(f)
       print(f)
return allMax       

longestWord ("Я был хорош")

...