我在python中有一个统一对象列表:
class myClass(object):
def __init__(self, attr):
self.attr = attr
self.other = None
objs = [myClass (i) for i in range(10)]
现在我想提取一个包含该类的某个属性的列表(比如attr),以便传递一些函数(例如用于绘制该数据)
什么是pythonic方式,
attr=[o.attr for o in objsm]
也许派生列表并为其添加一个方法,所以我可以使用一些像
这样的习语objs.getattribute("attr")
答案 0 :(得分:63)
attrs = [o.attr for o in objs]
是制作与您描述的列表类似的列表的正确代码。不要试图为此list
创建子类。你有什么不喜欢的片段吗?
答案 1 :(得分:56)