NetworkX (Python): como alterar o peso das bordas por regra designada

Eu tenho um gráfico ponderado:

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

obtenha a lista de nós:

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

Quero alterar o peso de cada borda por esta regra:

remova um nó, como o nó 5, claramente, a borda (4, 5) e (5, 6) será excluída e o peso de cada borda será alterado para:

{# essas arestas estão próximas da aresta excluída (4, 5) e (5, 6)

(3,4): «peso» = 1,1;

(6,7): «peso» = 1,1;

#Estas arestas estão próximas das arestas acima mencionadas

(2,3): «peso» = 1,2;

(7,8): «peso» = 1,2;

#Estas arestas estão próximas das arestas acima mencionadas

(1,2): «peso» = 1,3;

(8,9): «peso» = 1,3;

# esta borda está próxima (1,2)

(0,1): «peso» = 1,4}

Como escrever este algoritmo?

PS: path_graph é apenas um exemplo. Eu preciso de um programa adequado para qualquer tipo de gráfico. Além disso, o programa precisa ser iterável, significa que eu posso remover um nó do gráfico de origem de cada vez.

Saudações

questionAnswers(1)

yourAnswerToTheQuestion