我有一个python中对象的统一列表:
class myClass(object):
def __init__(self, attr):
self.attr = attr
self.other = None
objs = [myClass (i) for i in range(10)]
现在我想提取一个带有该类属性的列表(比如attr),以便传递给它一些函数(例如用于绘制数据)
什么是Python式的做法
attr=[o.attr for o in objsm]
是吗?
也许派生列表并添加一个方法,这样我就可以使用一些习惯用法,比如
objs.getattribute("attr")
是吗?
你也可以写:
这样你就能得到一个节省内存的生成器。有关更多好处,请查看Generator Expressions。
attrs = [o.attr for o in objs]
是生成类似您所描述的列表的正确代码。不要试图为此子类list
。你不喜欢那个片段吗?相关问题 更多 >
编程相关推荐