我遇到了一些蟒蛇的麻烦。我有一个列表,其中有七个类的副本,我打算只更改其中一个类的值,但每当我这样做时,它都会更改所有类的值。
这是课堂:

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())

10-05 23:48