NetworkX (Python): cómo cambiar el peso de los bordes por regla designada

Tengo un gráfico ponderado:

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

obtener la lista de nodos:

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

Quiero cambiar el peso de cada borde por esta regla:

eliminar un nodo, como el nodo 5, claramente, se eliminarán los bordes (4, 5) y (5, 6), y el peso de cada borde se convertirá en:

{# estos bordes están cerca del borde eliminado (4, 5) y (5, 6)

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

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

# estos bordes están cerca de los bordes mencionados anteriormente

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

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

# estos bordes están cerca de los bordes mencionados anteriormente

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

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

# este borde está cerca (1,2)

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

¿Cómo escribir este algoritmo?

PD: path_graph es solo un ejemplo. Necesito un programa que se adapte a cualquier tipo de gráfico. Además, el programa debe ser iterable, lo que significa que puedo eliminar un nodo del gráfico de origen cada vez.

Saludos

Respuestas a la pregunta(1)

Su respuesta a la pregunta