您好,我有以下代碼爲圖執行鄰接列表,除了向va和vb添加新值時,舊的密鑰被覆蓋之外,它只能打印代碼。如果我發現頂點0與1和2相鄰,我想添加兩個,但是1會被2覆蓋。另外,我嘗試使用其他插入方法,並且出現錯誤0,這是字典中沒有鍵該索引:Python字典,動態插入
def caminhografo(grafo, va, vb):
vat = vertex
i = 0
a = 0
z = 0
va = int(va)
vb = int(vb)
x = len(grafo.node)
if va < vb:
for va in range (vb+1):
a = 0
x = len(grafo.node)
for a in range (x):
if [int(va),int(a)] in grafo.node:
vat.adj[va] = a
if va > vb:
while vb > va:
a = 0
x = len(grafo.node)
for a in range (x):
if[int(vb),int(a)] in grafo.node:
vat.adj[vb] = a
vb = vb - 1
print (vat.adj)
我該如何動態地插入到正確的鍵?
這裏是頂點和grafo是圖形類:
class graph:
v = 0
a = 0
node = []
class vertex:
adj = {}
感謝您的幫助。
您的'if va> vb'如何與'while vb> va'一起使用?我原以爲你無法進入循環。 – hughdbrown
什麼類型的對象是'vat.adj'? 'vat'似乎是一個全局變量'vertex'的引用,但是這對我沒有任何幫助。 – Blckknght
它的工作原理是,如果條目處於這種情況下,va和vb比其他任何一個高一個或根本沒有。這只是一段時間做與第一次相反的時間。 – Rex