非常简单
我有这个:
for i in self.Abilities:
i.OnTimer(amount)
我可以这样做吗?
map(Ability.OnTimer,self.Abilities,amount)
我想使用带有类功能的地图,但我无法让它工作。
答案 0 :(得分:6)
您应该使用map
来计算值列表,而不是其副作用。如果您正在执行一系列操作,则使用for
循环更具可读性。人们将更容易理解代码的意图。
答案 1 :(得分:4)
在调用函数之前,您可以使用functools.partial
为函数提供参数:
from functools import partial
map(partial(Ability.OnTimer, amount = amount), self.Abilities)
但你真的认为这会更具可读性吗?并且请注意{3}在{3}中是懒惰的!