我想做一个函数,它接受一个句子,并返回一个最长单词的列表,以及与最长单词长度相同的单词



下面的代码只将字符串拆分为一个列表,并选择列表中最长的单词。但现在我也想附加与最长单词相同长度的单词。例如,如果输入是"0";我的狗猫;输出应该是['dog','cat']。

def longest_wordlist(string):
string = string.split()
longest = ''
for i in range(len(string)):
if len(string[i]) > len(string[i-1]):
longest = string[i]
return longest

如果条件第一次检查较长的情况,则可以使用多个条件第二次检查相同长度的

def longest_wordlist(string):
string = string.split()
longest = []
longest_length = 0
for i in range(len(string)):
if len(string[i]) > longest_length:
longest = [string[i]]
longest_length = len(string[i])
elif len(string[i]) == longest_length:
longest.append(string[i])
return longest

结果

>>> longest_wordlist("me dog cat")
['dog', 'cat']

您也可以在不使用范围函数的情况下执行相同的操作。

def longest_wordlist(string):
string = string.split()
longest = []
longest_length = 0
for word in string:
if len(word)>longest_length:
longest_length=len(word)
longest=[word]
elif len(word)==longest_length:
longest.append(word)
return longest

最新更新