在Python中查找字符串中长度最短的单词

2024-09-04 01:15:36 发布

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

我正在做一个作业,让别人输入一个单词串,然后我的程序应该从中选出最短和最长单词的长度。我成功地让它找出了最长单词的长度:

def longWord(string):
    alist = []
    length = 0
    for letter in string:
        if letter != " ":
            length +=1
        else:
            alist.append(length)
            length = 0
        return alist

所以如果输入的是“happy day”,我的print函数会告诉我最长的单词是5个字符。在

然而,在我的一生中,我不知道如何写一些东西来找出输入字符串中最短单词的长度。我该怎么做?在


Tags: in程序forstringreturnifdef作业
3条回答

找到最小单词的最简单方法是使用min函数和len函数作为key

>>> s = 'Happy day'
>>> l = s.split()
>>> min(l, key=len)
=> 'day'

类似地,要找到最长的单词,请使用max

^{pr2}$

现在最简单的部分是,为了获得它的长度,将上面的内容包含在len函数中:

>>> len(min(l, key=len))
=> 3

你可以试试这个:

s = "This is a template sentence"
final_data = sorted(s.split(), key=len)
minimum = final_data[0]
maximum = final_data[-1]

如果您只想知道长度,而不想知道实际单词,可以使用:

def length(s):
    l = map(len, s.split())
    return max(l), min(l)

相关问题 更多 >