Calcola il numero di vicini per ogni nodo
Come valuti se un nodo è importante oppure no? Ci sono diversi modi; qui ne osserverai uno: il numero di vicini che un nodo ha.
Ogni grafo NetworkX G espone un metodo .neighbors(n) che restituisce un iteratore dei nodi vicini al nodo n. Per cominciare, usa questo metodo nell'IPython Shell sulla rete Twitter T per ottenere i vicini del nodo 1. Questo ti aiuterà a capire come funziona la funzione. Poi, il tuo compito in questo esercizio è scrivere una funzione che restituisca tutti i nodi che hanno m vicini.
Questo esercizio fa parte del corso
Introduzione all'analisi delle reti in Python
Istruzioni dell'esercizio
- Scrivi una funzione chiamata
nodes_with_m_nbrs()che accetta due parametri -Gem- e restituisce tutti i nodi che hannomvicini. Per farlo:- Itera su tutti i nodi in
G(non includere i metadati). - Usa le funzioni
len()elist()insieme al metodo.neighbors()per calcolare il numero totale di vicini che il nodonnel grafoGha.- Se il numero di vicini del nodo
nè uguale am, aggiunginall'insiemenodesusando il metodo.add().
- Se il numero di vicini del nodo
- Dopo aver iterato su tutti i nodi in
G, restituisci l'insiemenodes.
- Itera su tutti i nodi in
- Usa la tua funzione
nodes_with_m_nbrs()per recuperare tutti i nodi che hanno 6 vicini nel grafoT.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Define nodes_with_m_nbrs()
def ____:
"""
Returns all nodes in graph G that have m neighbors.
"""
nodes = set()
# Iterate over all nodes in G
for n in ____:
# Check if the number of neighbors of n matches m
if ____ == ____:
# Add the node n to the set
____
# Return the nodes with m neighbors
return nodes
# Compute and print all nodes in T that have 6 neighbors
six_nbrs = ____
print(____)