繁体   English   中英

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

[英]Is it ok to use map to apply function to arguments list and ignore the results?

你认为使用map作为参数列表的应用函数并忽略结果是可以的吗?

map(foo, bar)

它可能看起来像正在阅读代码的人的错误。

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

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

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

for x in bar:
    foo(x)

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

这是我一起破解它的方式:

from itertools import imap, ifilterfalse

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM