我正在进行一项任务,我必须让某人输入一串单词,然后我的程序应该选择该字符串中最短和最长单词的长度。我成功地找出了最长字的长度:
def longWord(string):
alist = []
length = 0
for letter in string:
if letter != " ":
length +=1
else:
alist.append(length)
length = 0
return alist
因此,如果输入是“快乐的一天”,我的打印功能会告诉我最长的单词是5个字符。
但是,对于我的生活,我无法弄清楚如何写出能够选出输入字符串中最短单词长度的东西。我该怎么做?
答案 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]