Specificare un peso sugli archi
È possibile aggiungere pesi agli archi in un grafo, tipicamente per indicare la "forza" di un arco. In NetworkX, il peso è indicato dalla chiave 'weight' nel dizionario dei metadati.
Prima di iniziare l'esercizio, usa l'IPython Shell per accedere ai metadati di T ed esplorarli, ad esempio eseguendo i comandi T.edges[1, 10] e poi T.edges[10, 1]. Nota come c'è solo un campo e ora ne aggiungerai un altro, chiamato 'weight'.
Questo esercizio fa parte del corso
Introduzione all'analisi delle reti in Python
Istruzioni dell'esercizio
- Imposta l'attributo
'weight'dell'arco tra i nodi1e10diTuguale a2. Fai riferimento al seguente template per impostare un attributo di un arco:network_name.edges[node1, node2]['attribute'] = value. Qui, l''attribute'è'weight'. - Imposta il peso di ogni arco che coinvolge il nodo
293uguale a1.1. Per farlo:- Usando un ciclo
for, itera su tutti gli archi diT, includendo imetadata. - Se
293è presente nella lista di nodi[u, v]:- Imposta il peso dell'arco tra
ueva1.1.
- Imposta il peso dell'arco tra
- Usando un ciclo
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Set the weight of the edge
____ = 2
# Iterate over all the edges (with metadata)
for u, v, d in ____:
# Check if node 293 is involved
if 293 in ____:
# Set the weight to 1.1
____ = 1.1