Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我想做一个函数,它接受一个句子并返回一个最长单词的列表以及与最长单词长度相同的单词_Python_List - Fatal编程技术网

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

Python 我想做一个函数,它接受一个句子并返回一个最长单词的列表以及与最长单词长度相同的单词,python,list,Python,List,下面的代码仅将字符串拆分为一个列表,并选择列表中最长的单词。但现在我还想附加与最长单词长度相同的单词。例如,如果输入为“me dog cat”,则输出应为['dog','cat'] def longest_wordlist(string): string = string.split() longest = '' for i in range(len(string)): if len(string[i]) > len(string[i-1]):

下面的代码仅将字符串拆分为一个列表,并选择列表中最长的单词。但现在我还想附加与最长单词长度相同的单词。例如,如果输入为“me dog cat”,则输出应为['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

您可以使用多个if条件,第一个条件检查较长的情况,第二个条件检查相同的长度

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