NetworkX (Python): comment modifier le poids des arêtes par une règle désignée

J'ai un graphe pondéré:

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

obtenir la liste de nœuds:

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

Je veux changer chaque arête de poids par cette règle:

supprimer un nœud, comme le nœud 5, clairement, le bord (4, 5) et (5, 6) sera supprimer, et le poids de chaque arête va à son tour:

{# ces bords sont à proximité de l'supprimé bord (4, 5) et (5, 6)

(3,4):'poids'=1.1,

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

#ces bords sont à proximité des bords mentionnés ci-dessus

(2,3):'poids'=1.2,

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

#ces bords sont à proximité des bords mentionnés ci-dessus

(1,2):'poids'=1.3,

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

# ce bord est à proximité (1,2)

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

Comment écrire cet algorithme?

PS: path_graph est juste un exemple. J'ai besoin d'un programme de s'adapter à tout type de graphique. En outre, le programme doivent être itératif, cela signifie que je peux supprimer un nœud d'origine graphique à chaque fois.

Ce qui concerne

source d'informationauteur Johnny