0

たとえば、5つの属性を持つオブジェクトがあるとします。オブジェクトの属性にそれぞれ対応する5つのリストを作成するにはどうすればよいですか。リストの名前は、それらの属性と一致する必要があります。次のことを試しましたが、構文エラーが発生します。

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

3 に答える 3

2

aa dict を使用する必要があります:

d = {}

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

OPの元の質問に答えることができます...

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

しかし、Rohitが示唆しているように、あなたが望むかどうかは、dict良くないか、おそらくOPが望んでいnamedtupleます。

于 2013-02-15T00:12:16.273 に答える
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 に答える