たとえば、5つの属性を持つオブジェクトがあるとします。オブジェクトの属性にそれぞれ対応する5つのリストを作成するにはどうすればよいですか。リストの名前は、それらの属性と一致する必要があります。次のことを試しましたが、構文エラーが発生します。
for x in A.attributes
str(x) = [];
aa dict を使用する必要があります:
d = {}
for x in A.attributes
d[x] = [];
OPの元の質問に答えることができます...
for x in A.attributes
globals()[x] = []
しかし、Rohitが示唆しているように、あなたが望むかどうかは、dict
良くないか、おそらくOPが望んでいnamedtuple
ます。
そのようです:
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=[]