IniziaInizia gratis

Visualizzare la connettività

Qui visualizzerai come cambia nel tempo la connettività dei nodi più connessi. L’elenco dei valori più connessi, top_connected, dall’esercizio precedente è già stato caricato.

Ricordi il defaultdict che hai usato nel Capitolo 1? Userai un altro defaultdict anche in questo esercizio! Come Eric ha menzionato nel video, qui si preferisce un defaultdict perché un normale dizionario di Python genererebbe un KeyError se provi a recuperare un elemento con una chiave non presente nel dizionario.

Questo esercizio utilizzerà cicli for annidati. In altre parole, userai un ciclo for dentro un altro.

Questo esercizio fa parte del corso

Analisi di reti intermedia in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Inizializza un defaultdict di liste vuote chiamato connectivity.
  • Itera su top_connected usando un ciclo for e, nel corpo di questo ciclo esterno, itera nuovamente su Gs. All’interno di questo ciclo annidato:
    • Le chiavi di connectivity devono essere i nodi n in top_connected e i valori devono essere l’elenco dei punteggi di connettività. Quindi, devi aggiungere len(list(G.neighbors(n))) a connectivity[n].
  • Itera su connectivity usando .items() e traccia la connettività di ciascun nodo passando conn a plt.plot().

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Import necessary modules
import matplotlib.pyplot as plt
from collections import defaultdict

# Create a defaultdict in which the keys are nodes and the values are a list of connectivity scores over time
connectivity = ____
for n in ____:
    for g in ____:
        connectivity[____].____(len(____))

# Plot the connectivity for each node
fig = plt.figure() 
for n, conn in ____: 
    plt.plot(____, label=n) 
plt.legend()  
plt.show()
Modifica ed esegui il codice