我正在尝试在python3中编写算法dijkstra,我想我已经与python 2和python 3混淆了。我想删除unseen_node
。代码如下所示
D={}
P={}
for node in graph.keys():
D[node] = -1
P[node] = ""
D[start] = 0
unseen_nodes = graph.keys() #graph is a dict
while len(unseen_nodes)>0:
shortest = None
node = ''
for temp_node in unseen_nodes:
if shortest == None:
shortest = D[temp_node]
elif(D[temp_node]<shortest):
shortest = D[temp_node]
node=temp_node
unseen_nodes.remove(node) #gives an AttributeError:
'dict_keys' object has no attribute'remove'