您认为将map应用于参数列表并忽略结果是否可以?
map(foo, bar)
对于正在阅读代码的人来说,它可能会出现错误。
答案 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
始终为空(给定此输入)。