下面的代码只将字符串拆分为一个列表,并选择列表中最长的单词。但现在我也想附加与最长单词相同长度的单词。例如,如果输入是"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