在Python

时间:2017-11-04 18:10:43

标签: python

我正在进行一项任务,我必须让某人输入一串单词,然后我的程序应该选择该字符串中最短和最长单词的长度。我成功地找出了最长字的长度:

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

因此,如果输入是“快乐的一天”,我的打印功能会告诉我最长的单词是5个字符。

但是,对于我的生活,我无法弄清楚如何写出能够选出输入字符串中最短单词长度的东西。我该怎么做?

3 个答案:

答案 0 :(得分:13)

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

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

同样,要查找最长字,请使用max

>>> max(l, key=len)
=> 'Happy'

现在,获取长度的简单部分将上述内容包含在len函数中:

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

答案 1 :(得分:2)

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

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

答案 2 :(得分:1)

你可以试试这个:

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