我遇到了一些蟒蛇的麻烦。我有一个列表,其中有七个类的副本,我打算只更改其中一个类的值,但每当我这样做时,它都会更改所有类的值。
这是课堂:
class Node:
previous = -1
distFromSrc = 1000000
visited = False
And here is how I create the list:
def createNodeTable(network):
nodeTable = []
for line in network:
nodeTable.append(Node)
return nodeTable
。
如果我调用以下函数,但是所有“.visited”值都将更改为false,而不仅仅是我打算更改的值。
无论“currentNode”更改为什么,我都会遇到相同的问题:
def setVisited(currentNode, nodeTable):
nodeTable[currentNode].visited = True
return nodeTable
setVisited函数有问题吗?还是nodeTable有问题?我甚至不知道该从哪里着手解决这个问题。
最佳答案
nodeTable.append(Node)
。您在那里做的是将类型(或类)附加到列表中。。
。你可以打电话给它。
nodeTable.append(Node())