Aan de slagBegin gratis

Het bipartite-keyword

In de video heeft Eric je kennis laten maken met het 'bipartite'-keyword. Dit keyword is onderdeel van de metagegevensdictionary van een knooppunt en kan zowel worden toegekend wanneer je een knooppunt toevoegt als nadat het knooppunt is toegevoegd. Onthoud wel dat volgens de definitie in een bipartiete graaf een knooppunt niet verbonden kan zijn met een ander knooppunt in dezelfde partitie.

Hier ga je een functie schrijven die de knooppunten teruggeeft uit een gegeven partitie in een bipartiete graaf. In dit geval zijn de relevante partities van de bipartiete GitHub-graaf waar je mee werkt 'projects' en 'users'.

Deze oefening maakt deel uit van de cursus

Gemiddelde netwerkanalyse in Python

Bekijk cursus

Oefeninstructies

  • Schrijf een functie get_nodes_from_partition() die twee argumenten accepteert — een bipartiete graaf G en een partition van G — en alleen de knooppunten uit die partition teruggeeft.
    • Itereer met een for-lus over alle knooppunten van G (zonder de metagegevens).
    • Benader het 'bipartite'-keyword van de metagegevensdictionary van het huidige knooppunt. Als het gelijk is aan partition, voeg dan het huidige knooppunt toe aan de lijst nodes.
  • Gebruik je get_nodes_from_partition()-functie samen met de len()-functie om:
    • Het aantal knooppunten in de 'projects'-partitie van G te printen.
    • Het aantal knooppunten in de 'users'-partitie van G te printen.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

# 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 bewerken en uitvoeren