2

我要做的是创建一个程序,该程序返回一定长度的字符串列表。我有一个程序,但我觉得它非常偏离

def lett(lst,n):
res = []
for a in range(1,len(lst)):
               if a == n
                   res = lst[a]
return res

我想要的是获取列表并返回所有长度为 n 的单词,所以如果我要做 lett(["boo","hello","maybe","yes","nope"], )它会返回 ['boo','yes']

谢谢!

4

3 回答 3

2

尝试这个:

def lett(lst, n):
    return [x for x in lst if len(x) == n]

或者:

def lett(lst, n)
    return filter(lambda x: len(x) == n, lst)
于 2013-02-04T07:05:27.450 回答
2

使用filter功能

def lett(lst, n):
    return filter(lambda x: len(x) == n, lst)

这将在 Python 2 中返回一个列表。如果您使用的是 Python 3,它会返回一个filter对象,因此您可能希望将其转换为列表。

return list(filter(lambda x: len(x) == n, lst))
于 2013-02-04T07:06:22.363 回答
0
def lett(lst, n):
    return [tmpStr for tmpStr in lst if len(tmpStr) == n]
于 2013-02-04T07:10:54.343 回答