用于查找从用户输入创建的wordlist中最长的单词的功能

时间:2016-02-22 06:45:57

标签: python python-3.x

再一次,无法绕着作业缠头。我有一个由用户输入创建的列表,我想从列表中找到最长的单词。我已经能够获得列表,但我的输出不正确,我有一个问题,试图比较列表中的单词。我意识到这是一个重复的问题在其他几个线程中,但在尝试这些建议后,我仍然有一个问题。这是我迄今为止所做的,并提前感谢你:

def find_longest_word(wordList):  
    longest=''
    previous=''
    for word in wordList:
        if len(word)>len(longest):
            longest=word
            print(longest)
        else:
            previous=word
            print(previous)




print('Please enter a few words and I will find the longest word:','\n')         
words = input()
print('\n')
wordList = words.split()
print('The list of words entered is:','\n')
print(wordList)

find_longest_word(wordList) 

2 个答案:

答案 0 :(得分:4)

您是否尝试过以下操作?

def find_longest_word(wordList):
    return max(wordList, key=len)

这个简单的行找到wordList的最大值,比较列表中的值和它们的长度。

答案 1 :(得分:-1)

让我们定义一个单词列表:

wordList = ['word', 'longestWord', 'shorter']

您可以使用

找到最长单词的索引
maxIndex = max(enumerate(map(lambda x: len(x), wordList)), key=(lambda x: x[1]))

最后看到最长的单词:

wordList[maxIndex[0]]