显示 Python 列表中所有最长的单词

Display all the longest words in a list in Python

我想显示列表中最长的所有单词。我使用了 max 函数,但是 max 函数仅 returns 列表中最大字符串的第一个,即 "have"。如何让它打印出字符串中所有最长的元素?

理想的输出:'have' 'been' 'good' 获得的输出:'have'

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

longestWord("I have been good")

output: 'have'

尝试使用此代码将所有项目的长度与最大长度进行比较,然后将其附加到另一个列表

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       

最长的单词("I have been good")