Python:将重写的方法映射到实例列表

时间:2018-03-05 21:28:27

标签: python

我想将方法​​映射到实例列表。所有实例都是类,从一些抽象类继承,方法为Method()。我可以通过列表理解轻松完成:

[o.Method() for o in list_of_instances]

但是如何使用map()呢?我正在尝试

map(MyAbstractClass.Method, list_of_instances)

但它(原因!)映射MyAbstractClass的空方法而不是重写的方法。有没有办法用map()映射被覆盖的?

2 个答案:

答案 0 :(得分:3)

使用operator.methodcaller

import operator
map(operator.methodcaller("Method"), list_of_instances)

答案 1 :(得分:2)

这就是你要找的东西吗?

map(lambda x: x.Method(), list_of_instances)