是否可以使用map将函数应用于参数列表并忽略结果?

时间:2010-07-01 15:12:51

标签: python

您认为将map应用于参数列表并忽略结果是否可以?

map(foo, bar)

对于正在阅读代码的人来说,它可能会出现错误。

3 个答案:

答案 0 :(得分:8)

当你想要使用map的结果时,将函数应用于列表中的每个项目是一种非常好的方法,尽管许多人发现将它作为列表推导或生成器写得更清楚:

result = [foo(x) for x in bar]

但是,如果您不打算使用函数调用的结果并且只对副作用感兴趣,那么您应该使用过程样式来编写:

for x in bar:
    foo(x)

答案 1 :(得分:6)

这种行为令人不悦。除非您打算使用返回的列表,否则请使用for循环。

答案 2 :(得分:0)

以下是我一起破解的方法:

from itertools import imap, ifilterfalse

tuple(ifilterfalse(None, imap(lambda x: x+1, range(10))))

tuple始终为空(给定此输入)。