如何从给定的一组单词中打印出最长和最短的单词?

2024-10-01 09:19:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我想写一个代码,从列表中找出最长和最短的单词。我试着写一个代码来找出最长的单词,但是失败了,真的很糟糕…我想知道是否有一个简单的函数或行我遗漏了。在

mywords=['how','no','because','sheep','mahogany']

n = len(mywords)

a=0
while a < n:

print(( len( list(mywords[a]))))
a += 1

if a > n:
    break

虽然我得到了每个单词的字符数的打印件,但我不知道如何继续。在

PS:id想知道如何从从上面的函数获得的值中创建一个列表


Tags: 函数no代码列表len单词listhow
3条回答

为了多样性,这里有另一种方法-

#Finding Max-value
>>> reduce(lambda x,y: x if(len(x) > len(y))else y, mywords)
'mahogany'
#Finding Min-value
>>> reduce(lambda x,y: x if(len(x) < len(y))else y, mywords)
'no'

根据第一个元素的长度和最后一个元素的可读性,可以一次性获得一个版本:

mywords=['how','no','because','sheep','mahogany']

shortest, longest = (w[i] for i in (0, -1) for w in (sorted(mywords, key=len),))
print shortest, longest  # no mahogany

您可以使用max,和min。在

>>> max(mywords, key=len)
'mahogany'
>>> min(mywords, key=len)
'no'

相关问题 更多 >