例如,假设我有一个具有5个属性的对象。如何创建5个列表,每个列表对应于对象的属性,列表的名称必须与这些属性匹配。我尝试了以下但它给了我一个语法错误:
for x in A.attributes
str(x) = [];
答案 0 :(得分:2)
你需要使用一个词典:
d = {}
for x in A.attributes
d[x] = [];
答案 1 :(得分: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=[]
答案 2 :(得分:0)
回答OP的原始问题可以做......
for x in A.attributes
globals()[x] = []
但正如Rohit建议你想的那样,dict
不是更好,或者也许OP想要namedtuple
。