私はいくつかのPythonのものに悩まされています。私はクラスの7つのコピーを持っているリストを持っており、私はそれらのうちの1つの値だけを変更しようとしていますが、私がそうする度に、すべての値を変更します。ここで Pythonのクラスリストの発行
クラスです:class Node:
previous = -1
distFromSrc = 1000000
visited = False
そして、ここで私は、リストを作成する方法である:
def createNodeTable(network):
nodeTable = []
for line in network:
nodeTable.append(Node)
return nodeTable
'ネットワーク' 私は「nodeTable [Xを印刷するので、長さ7のリストです] .visited 'の値を変更しようとすると、私はすべての値が「False」になります。
私が次の関数を呼び出すと、変更しようとしているものだけでなく、 '.visited'の値もすべてfalseに変わります。 Iに変更されたものは何でも「currentNodeの」
は同じ問題を得る:
def setVisited(currentNode, nodeTable):
nodeTable[currentNode].visited = True
return nodeTable
はsetVisited機能付きが問題であるか、それがnodeTableとしているのですか?私はこれを解決しようとするためにどこから始めるべきかさえ知らない。それはまったく同じオブジェクトであるので、それはそれを変更する変更、
def createNodeTable(network):
nodeTable = []
for line in network:
nodeTable.append(Node)
return nodeTable
:このコードで