0
我做測試蟒蛇就像低於2.7的代碼共享。我不明白爲什麼在對象列表與其他物體
class test(object):
#initial 5*5 array with 1
value = [[1 for col in range(5)] for row in range(5)]
def __init__(self, name) :
self.name = name
test_list = [test("TEST"), test("test")]
test_list[0].value[0][0] = 0
print test_list[0].value[0][0]
print test_list[1].value[0][0]
我想到的是導致這樣的
但實際的結果是一樣
所以它看起來就像物體「TEST」和「測試」共享列表。
如果我如下更改代碼,那麼這個問題就不會出現。
class test(object):
def __init__(self, name) :
self.value = [[1 for col in range(5)] for row in range(5)]
self.name = name
test_list = [test("TEST"), test("test")]
test_list[0].value[0][0] = 0
print test_list[0].value[0][0]
print test_list[1].value[0][0]
我想知道爲什麼這兩個代碼工作不同。
類試驗(對象): 值= 0 DEF __init __(個體,名稱): self.name =名 test_list = [試驗( 「TEST」),測試( 「測試」)] test_list [0] .value = 1 print test_list [0] .value print test_list [1] .value 如果我製作這段代碼,那麼它就可以找到。單個變量不會發生這個問題,但是會出現列表或字典。 – booksky