Skip to main content
 首页 » 编程设计

python之避免不必要地使用 lambda 调用对象方法

2025年05月04日12pengyingh

考虑以下代码,它只是对列表的每个成员调用一个方法:

class Demo: 
    def make_change(self): 
        pass 
 
foo = [Demo(), Demo(), Demo()] 
map(lambda x: x.make_change(), foo) 

有没有不用冗长的 lambda 语法的方法来完成这个?例如,在 Scala 中,类似于 map(_.make_change(), foo) 的东西可以工作。 Python 有等效项吗?

请您参考如下方法:

仅仅为了副作用而使用 map 不是很 pythonic

为什么不

for item in foo: 
    item.make_change() 

这会比使用 map 运行得更快

如果你坚持,你可以把它放在一条线上,但我不会

for item in foo:item.make_change()