所以我有一个列表,其中有一个列表。该列表具有公共字符串,并且应该根据另一个变量为每个对象提供一些特定的字符串。
class test:
strings = []
name = None
然后我创建一个对象列表
objects = []
i = 0
while i < 2 :
o = test()
o.name = "Object " + str(i)
objects.append(o)
i += 1
然后我在列表中添加两个对象的通用字符串
test.strings.append("String 1")
test.strings.append("String 1")
我需要的是每个对象之后都有一个特定的字符串,所以我试过
test.append("testing")
for element in objects :
print element.strings[ len(element.strings) - 1 ]
element.strings[ len(element.strings) - 1 ] = element.name
print element.strings[ len(element.strings) - 1 ]
我得到的输出是
testing
Object 0
Object 0
Object 1
当我尝试访问element.strings时,该字符串始终是最后一次修改。
我尝试单独追加,而不是在for之前执行test.append,但它为每个对象添加了元素。有没有办法做我想做的事情?
编辑重复: 另一个问题是如何获得没有共享信息的独立数据。我想要的是与一些特定数据实例共享信息。