我想在一个非空的列表中找到最长的单词。我的函数应该返回最长的单词。如果元素在列表中的长度相等,我将尝试按照Unicode排序来排序最长的元素。例如,我试图返回以下内容:
>>> highest_word(['a', 'cat', 'sat'])
'sat'
>>> highest_word(['saturation', 'of', 'colour'])
'saturation'
>>> highest_word(['samIam'])
'samIam'
到目前为止,我可以让第一个开始工作,这是我的代码:
def highest_word(wordlist):
longestWord = ""
max_len = 0
for word in wordlist:
if len(word) > max_len:
longestWord = len(word)
longestWord = word
return longestWord
任何帮助都将不胜感激。
最佳答案
这是一条简单的单行线
print(max(['a', 'cat', 'sat', 'g'], key=lambda s: (len(s), s)))
这是通过将列表中的每个元素映射到包含其长度的元组来实现的
还有绳子本身。
。只有当考虑到第二个元素时。因此,如果两个字符串的长度相等,则将这些字符串作为tiebreaker进行比较。
关于python - 在列表python中找到最长的单词,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36214058/