Python:如何用给定的名称声明多个变量?

时间:2013-02-14 23:50:43

标签: python list

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

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

3 个答案:

答案 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