【发布时间】:2016-12-26 02:41:14
【问题描述】:
我想用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))
【问题讨论】:
-
回答标题中的问题:是的。但是你只需要使用过滤器,没有地图。你需要一个返回 True 或 False 的 lambda。您不能将
if放在函数调用中。如果您打算将其用作函数,也不能调用变量len。