【发布时间】:2018-01-10 05:14:17
【问题描述】:
当我执行以下 python 代码时,我得到了一个意外的输出。 我是 python 新手。
def foo(n):
return n+2;
print (filter(foo,[1,2]))
我期望输出为:-
[3,4]
但我得到的输出是:-
[1,2]
请帮我解决这个问题。
【问题讨论】:
-
函数错误。你想要
map,而不是filter。
当我执行以下 python 代码时,我得到了一个意外的输出。 我是 python 新手。
def foo(n):
return n+2;
print (filter(foo,[1,2]))
我期望输出为:-
[3,4]
但我得到的输出是:-
[1,2]
请帮我解决这个问题。
【问题讨论】:
map,而不是filter。
你描述的是map而不是filter。
def foo(n):
return n+2;
print (map(foo,[1,2]))
打印出来
[3,4]
【讨论】:
filter 保留列表中传递foo 的值。例如def foo(n): return n>=2 print(filter(foo,[1,2])) 会给[2]。