NetworkX (Python): So ändern Sie das Kantengewicht anhand der festgelegten Regel

Ich habe ein gewichtetes Diagramm:

F=nx.path_graph(10)
G=nx.Graph()
for (u, v) in F.edges():
    G.add_edge(u,v,weight=1)

gib die Knotenliste ein:

[(0, 1), (1, 2), (2, 3), (3, 4), (4, 5), (5, 6), (6, 7), (7, 8), (8, 9)]

Ich möchte das Gewicht jeder Kante nach folgender Regel ändern:

Entfernen Sie einen Knoten, z. B. Knoten 5, dann werden die Kanten (4, 5) und (5, 6) gelöscht, und die Gewichtung jeder Kante wird wie folgt geändert:

{# diese Kanten befinden sich in der Nähe der gelöschten Kanten (4, 5) und (5, 6)

(3,4): 'weight' = 1,1,

(6,7): 'weight' = 1.1,

# diese Kanten befinden sich in der Nähe der oben genannten Kanten

(2,3): 'weight' = 1,2,

(7,8): 'weight' = 1.2,

# diese Kanten befinden sich in der Nähe der oben genannten Kanten

(1,2): 'weight' = 1,3,

(8,9): 'weight' = 1.3,

# diese Kante ist in der Nähe (1,2)

(0,1): 'weight' = 1.4}

Wie schreibe ich diesen Algorithmus?

PS: path_graph ist nur ein Beispiel. Ich benötige ein Programm für jeden Grafiktyp. Außerdem muss das Programm iterierbar sein, dh ich kann jedes Mal einen Knoten aus dem Ursprungsdiagramm entfernen.

Grüß