所以这里是我遇到的问题。我正在尝试迭代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]
这之后,我希望能够编辑的个人名单,并让他们分配给其迭代
谢谢!这工作完美! –