列出与给定前缀匹配的单词的新单词表(python 理解问题)

Posted

技术标签:

【中文标题】列出与给定前缀匹配的单词的新单词表(python 理解问题)【英文标题】:list new wordlist in which words match given prefix (python comprehension question) 【发布时间】:2018-10-01 05:15:38 【问题描述】:

我需要一些帮助才能在 python 中提出以下问题。 1. 名为starts_with(prefix, wordlist) 的函数将字符串前缀和字符串列表作为输入,并使用列表推导返回一个列表,该列表由单词列表中以前缀开头的所有单词组成。

我做的是

def starts_with (prefix, wordlist):
    if prefix == wordlist[0][:len(prefix)]:
    return [wordlist[0]]+ starts_with(prefix,wordlist[1:])

我刚刚发现这既不是错误也不是理解。我不知道我应该如何理解。

【问题讨论】:

能否请您解释一下“既不是错误也不是理解”? 【参考方案1】:
def starts_with(prefix, wordlist):
        wordswithPrefixList =[]
        for word in wordlist:
            if word.startswith(prefix):
                wordswithPrefixList.append(word)

        return wordswithPrefixList
print(starts_with("test", ["test2","test1","sfsdf"]))

【讨论】:

请在代码中添加一些解释,这将有助于使您的答案更全面。【参考方案2】:

您可以像这样使用列表推导:

def starts_with(prefix, wordlist):
    return [word for word in wordlist if word.startswith(prefix)]

【讨论】:

【参考方案3】:

filter:

def starts_with(prefix, wordlist):
    return list(filter(lambda x: x.startswith(prefix),wordlist))

【讨论】:

以上是关于列出与给定前缀匹配的单词的新单词表(python 理解问题)的主要内容,如果未能解决你的问题,请参考以下文章

仅当没有给定前缀具有任意数量的空格时才匹配单词

正则表达式获取所有前缀+单词+后缀,但没有确切的单词

如何在 Go 中列出所有匹配的进程? [关闭]

获取与先前定义的字符串集匹配的字符串的所有前缀的有效结构

实现高效的英文单词前缀匹配

实现高效的英文单词前缀匹配