LoslegenKostenlos loslegen

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

Kurs anzeigen

Anleitung zur Übung

  • Schreibe eine Funktion namens get_nodes_from_partition(), die zwei Argumente akzeptiert – einen bipartiten Graphen G und eine partition von G – und nur die Knoten aus dieser partition zurückgibt.
    • Iteriere mit einer for-Schleife über alle Knoten von G (ohne die Metadaten).
    • Greife auf das 'bipartite'-Schlüsselwort im Metadaten-Dictionary des aktuellen Knotens zu. Wenn es partition entspricht, hänge den aktuellen Knoten an die Liste nodes an.
  • Verwende deine Funktion get_nodes_from_partition() zusammen mit der Funktion len(), um:
    • die Anzahl der Knoten in der Partition 'projects' von G auszugeben.
    • die Anzahl der Knoten in der Partition 'users' von G auszugeben.

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(____(____))
Code bearbeiten und ausführen