如果在python中有一定长度,则返回单词

时间:2014-08-06 14:04:30

标签: python

我正在编写输入单词列表的代码。如果列表中的任何单词恰好是4个字符,那么这些单词将以这种格式返回:

[ '单词', '4']

我正在制作一个循环来检查整个列表,但显然返回是停止该功能所以只有前4个字母的单词被打印出来。根据说明,必须使用'return'而不​​打印,输出必须采用上面的列表格式。任何帮助将不胜感激。谢谢。

    def letter(list):
        word = []
        for word in list:
            if len(word)==4:
                return word

3 个答案:

答案 0 :(得分:0)

使用return后,它会从函数中退出,因此最好填充整个四个字母单词列表然后返回

def letter(word_list):
    words = []
    for word in word_list:
        if len(word)==4:
            words.append(word)
    return words

答案 1 :(得分:0)

一种方法是使用内置过滤器函数,该函数将布尔函数和迭代作为输入。对于filter(f(item),lst),返回lst中f(item)返回true的所有项。请记住,filter()返回一个过滤器对象,因此您需要应用list(filter())来返回列表。对于这种情况,代码将是:

    list(filter(lambda word: len(word) == 4, words))

另一种方法是使用列表理解:

    [word for word in words if len(word) == 4]

答案 2 :(得分:0)

使用列表理解

def letter(list):
    return [word for word in list if len(word)==4]