Anzahl der Nachbarn für jeden Knoten berechnen
Wie bewertest du, ob ein Knoten wichtig ist oder nicht? Es gibt mehrere Möglichkeiten, und hier betrachten wir eine Kennzahl: die Anzahl der Nachbarn eines Knotens.
Jeder NetworkX-Graph G stellt eine Methode .neighbors(n) bereit, die einen Iterator der Knoten zurückgibt, die Nachbarn des Knotens n sind. Probiere diese Methode zunächst in der IPython-Shell am Twitter-Netzwerk T aus, um die Nachbarn des Knotens 1 zu erhalten. So lernst du, wie die Funktion funktioniert. Danach ist deine Aufgabe in dieser Übung, eine Funktion zu schreiben, die alle Knoten zurückgibt, die m Nachbarn haben.
Diese Übung ist Teil des Kurses
Einstieg in die Netzwerkanalyse mit Python
Anleitung zur Übung
- Schreibe eine Funktion namens
nodes_with_m_nbrs(), die zwei Parameter hat –Gundm– und alle Knoten zurückgibt, diemNachbarn haben. Gehe dazu so vor:- Iteriere über alle Knoten in
G(ohne die Metadaten). - Verwende die Funktionen
len()undlist()zusammen mit der Methode.neighbors(), um die Gesamtzahl der Nachbarn zu berechnen, die der Knotennim GraphenGhat.- Wenn die Anzahl der Nachbarn des Knotens
ngleichmist, fügenmit der Methode.add()zur Mengenodeshinzu.
- Wenn die Anzahl der Nachbarn des Knotens
- Gib nach dem Iterieren über alle Knoten in
Gdie Mengenodeszurück.
- Iteriere über alle Knoten in
- Verwende deine Funktion
nodes_with_m_nbrs(), um alle Knoten abzurufen, die im GraphenT6 Nachbarn haben.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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(____)