我可以使用lambda接受python中的两个参数并将其与map一起使用

时间:2016-12-25 18:27:22

标签: python lambda

我想在python函数中解决这个问题,一个单词列表和一个整数n,并返回长于n的单词列表,即

retlist=list()
def retword(list,n):
    for i in list:
        if len(i)>=n:  
            retlist.append(i)   
return retlist     

我可以使用此函数轻松完成此操作,但我想使用map,filter,reduce和lambda表达式来解决这个问题。像这样的东西

map(lambda list,len:list[i] if len(list[i])> len, (list,len))

2 个答案:

答案 0 :(得分:2)

使用filter

filter(lambda s: len(s) >= n, list)

答案 1 :(得分:0)

如果a是原始列表且n是所需长度,则列表推导将完成您需要的工作:

retlist = [i for i in a if len(i) >= n]