如何编写一个函数find_longest_word(astring)
,它取一个单词列表并返回最长单词的长度。
mystring = "Red Riding Hood"
def string_length(mystring):
length = 0
for letter in mystring:
length += 1
print "Red Riding Hood:", letter
return string_length
答案 0 :(得分:1)
你可以或多或少地完全按照你所描述的 的方式进行操作:
def find_longest_word(a_string):
return max(len(word) for word in a_string.split())
print(find_longest_word("Red Riding Hood")) # --> 6
答案 1 :(得分:0)
您可以使用一些内置函数map
和len
以及max
,但请注意,您需要split字符串来获取单词列表:< / p>
>>> def string_length(mystring):
... return max(map(len,mystring.split()))
...
>>> string_length(mystring)
6
答案 2 :(得分:0)
快速的单行将是:
len(sorted(mystring.split(),key=lambda s:len(s))[-1])
这会将mystring
拆分为一个列表,按列表项目的长度对其进行排序,并返回该结果列表中最后一项的长度。
答案 3 :(得分:0)
>>> def string_length(mystring):
... return max([len(item) for item in mystring.split()])
...
>>> string_length(mystring)
6
答案 4 :(得分:0)
最长的词:
max(ls, key=len)
最长:
max(len(s) for s in ls)
最长的单词和长度:
max(((s, len(s)) for s in ls), key=lambda t: t[1])
答案 5 :(得分:0)
function lognestStringLength($string,$getword=false)
{
$stringArr = explode(" ",$string);
$getLen =array_map("strlen",$stringArr);
$max =max($getLen);
if($getword):
$key = array_keys($getLen ,max($getLen));
return $stringArr[$key[0]];
else:
return $max;
endif;
}