Das Schlüsselwort bipartite
Im Video hat Eric dir das Schlüsselwort 'bipartite' vorgestellt. Dieses Schlüsselwort ist Teil des Metadaten-Dictionarys eines Knotens und kann sowohl beim Hinzufügen eines Knotens als auch nachträglich gesetzt werden. Denk daran: Per Definition kann in einem bipartiten Graphen ein Knoten nicht mit einem anderen Knoten in derselben Partition verbunden sein.
Hier schreibst du eine Funktion, die die Knoten aus einer gegebenen Partition in einem bipartiten Graphen zurückgibt. In diesem Fall sind die relevanten Partitionen des GitHub-bipartiten Graphen, mit dem du arbeitest, 'projects' und 'users'.
Diese Übung ist Teil des Kurses
Fortgeschrittene Netzwerkanalyse in Python
Anleitung zur Übung
- Schreibe eine Funktion namens
get_nodes_from_partition(), die zwei Argumente akzeptiert – einen bipartiten GraphenGund einepartitionvonG– und nur die Knoten aus dieserpartitionzurückgibt.- Iteriere mit einer
for-Schleife über alle Knoten vonG(ohne die Metadaten). - Greife auf das
'bipartite'-Schlüsselwort im Metadaten-Dictionary des aktuellen Knotens zu. Wenn espartitionentspricht, hänge den aktuellen Knoten an die Listenodesan.
- Iteriere mit einer
- Verwende deine Funktion
get_nodes_from_partition()zusammen mit der Funktionlen(), um:- die Anzahl der Knoten in der Partition
'projects'vonGauszugeben. - die Anzahl der Knoten in der Partition
'users'vonGauszugeben.
- die Anzahl der Knoten in der Partition
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Define get_nodes_from_partition()
def ____:
# Initialize an empty list for nodes to be returned
nodes = []
# Iterate over each node in the graph G
for n in ____:
# Check that the node belongs to the particular partition
if G.nodes[n]['____'] == ____:
# If so, append it to the list of nodes
____
return nodes
# Print the number of nodes in the 'projects' partition
print(____(get_nodes_from_partition(____, '____')))
# Print the number of nodes in the 'users' partition
print(____(____))