0

例如,假设我有一个具有 5 个属性的对象。我将如何创建 5 个列表,每个列表对应于对象的一个​​属性,并且列表的名称必须与这些属性匹配。我尝试了以下方法,但它给了我一个语法错误:

for x in A.attributes
    str(x) = [];
4

3 回答 3

2

您需要使用 aa 字典:

d = {}

for x in A.attributes
    d[x] = [];
于 2013-02-14T23:52:29.287 回答
0

像这样:

class A(object):
    pass

A.a1=[]    

这增加了一个类属性。

对于实例属性:

class A(object):
    pass

t=A()
t.a1=[]   

或者,如果属性已经存在于您的对象实例中:

for attr, value in [(a,v) for a,v in t.__dict__.iteritems()]:
   t.attr=[]
于 2013-02-14T23:55:16.570 回答
0

回答OP的原始问题可以做...

for x in A.attributes
    globals()[x] = []

但正如 Rohit 建议的那样,你想要,不是dict更好,或者 OP 可能想要一个namedtuple.

于 2013-02-15T00:12:16.273 回答