所以這裏是我遇到的問題。我正在嘗試迭代makeAThing類,然後使用makeAList類爲迭代創建一個列表。它不是爲makeAThing的每次迭代創建單獨的列表,而是創建一個大的全局列表並向其添加不同的值。有什麼我丟失/還不知道,或者這是如何python的行爲?從類創建python3列表使一個全局列表,而不是一個系列迭代的
class ListMaker(object):
def __init__(self,bigList = []):
self.bigList = bigList
class makeAThing(object):
def __init__(self,name = 0, aList = []):
self.name = name
self.aList = aList
def makeAList(self):
self.aList = ListMaker()
k = []
x = 0
while x < 3:
k.append(makeAThing())
k[x].name = x
k[x].makeAList()
k[x].aList.bigList.append(x)
x += 1
for e in k:
print(e.name, e.aList.bigList)
output:
0 [0, 1, 2]
1 [0, 1, 2]
2 [0, 1, 2]
the output I am trying to achieve:
0 [0]
1 [1]
2 [2]
這之後,我希望能夠編輯的個人名單,並讓他們分配給其迭代
謝謝!這工作完美! –