python-返回具有一定长度的列表元素

时间:2014-11-02 08:51:15

标签: python string list for-loop string-length

我试图返回长度大小的单词元素。 单词是列表,大小是正整数。 结果应该是这样的。

by_size(['a','bb','ccc','dd'],2] returns ['bb','dd']


def by_size(words,size)
    for word in words:
        if len(word)==size:

我不确定如何继续这部分。任何建议都会有很大的帮助。

5 个答案:

答案 0 :(得分:12)

我会使用列表理解:

def by_size(words, size):
    return [word for word in words if len(word) == size]

答案 1 :(得分:4)

return filter(lambda x: len(x)==size, words)

有关该功能的详情,请参阅filter()

答案 2 :(得分:1)

def by_size(words,size):
    result = []
    for word in words:
        if len(word)==size:
            result.append(word)
    return result

现在调用下面的函数

desired_result = by_size(['a','bb','ccc','dd'],2)

其中desired_result['bb', 'dd']

答案 3 :(得分:1)

你的意思是:

In [1]: words = ['a', 'bb', 'ccc', 'dd']

In [2]: result = [item for item in words if len(item)==2]

In [3]: result
Out[3]: ['bb', 'dd']

答案 4 :(得分:0)

假设您想稍后使用它们,那么将它们作为列表返回是一个好主意。或者只是将它们打印到终端。这实际上取决于你的目标。您可以在if语句中列出(或任何变量名称).append来执行此操作。