问题描述
您还可以编写:
attr=(o.attr for o in objsm)
这样,您将获得一个节省内存的生成器。有关更多好处,请参见Generator Expressions。
解决方法
我在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")
?