我有一个简单的嵌套字典来指示与节点,顶点和在形式字典边权的曲线图:麻烦与嵌套日文N3 N4 N5
{node: {vertex: weight, ... } ...}
。
这是我如何创建它:
with open(file) as f:
__, __1 = next(f).split()
for line in f:
tail, head, weight = line.split()
g1[tail] = {}
g1[tail][head] = int(weight)
此代码给我我想要的字典。然而,当我运行更多的代码来创建一个类似的嵌套字典并访问这个字典时,我遇到了一个错误。下面是代码:
nodes = g1.keys()
distance = {}
for n in nodes:
distance[n] = {}
for k in nodes:
distance[n][k] = graph[n][k]
某处在这里,这个错误影响了:
distance[n][k] = graph[n][k]
KeyError: '344'
表明我还没有创造了“344”的关键是什么这个代码试图去做。我想通过初始化每个节点n为一个字典,然后我可以创建一个距离[n] [k]的条目。我试过使用默认的字典 - 结果是一样的。为什么?
您是否尝试通过'dict()'将所有初始化更改为'{}'? –
使用文字语法'{}'是合适的,不需要使用'dict'内建。 –