我有一個簡單的嵌套字典來指示與節點,頂點和在形式字典邊權的曲線圖:麻煩與嵌套日文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'內建。 –