【发布时间】:2015-04-12 15:32:34
【问题描述】:
问题是我必须编写一个程序,它接收一个单词列表和一个整数,并返回长度大于该整数的单词。我只能使用 filter() 。 这是我写的:
def filter(list,integer):
largenum = list(filter(lambda x: len(x) > integer, list ))
return largenum
inp = input("Enter the words: ").split()
intr = input("Enter the integer: ").split()
print (filter(inp,intr))
当我运行它并给出输入时,它给出了一个错误:
运行时错误:超出最大递归深度。
我做错了什么?
编辑:我明白了。如此愚蠢的错误XD。 1.) 我将 filter(list,integet) 更改为 filterthis(string,integer) 2.) intr = input("输入整数:").split() to intr = int(input("输入整数:")
【问题讨论】:
-
1.您的递归函数缺少基本情况。它将无限递归,直到达到最大递归限制2。您将变量命名为
list,它会影响内置 -
为什么要写过滤函数?
-
"我只需要使用 filter()" ?your function or builtin
filter?
标签: python list recursion filter