IniziaInizia gratis

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

Visualizza il corso

Istruzioni dell'esercizio

  • Imposta l'attributo 'weight' dell'arco tra i nodi 1 e 10 di T uguale a 2. 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 293 uguale a 1.1. Per farlo:
    • Usando un ciclo for, itera su tutti gli archi di T, includendo i metadata.
    • Se 293 è presente nella lista di nodi [u, v]:
      • Imposta il peso dell'arco tra u e v a 1.1.

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
Modifica ed esegui il codice