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
Oefeninstructies
- Schrijf een functie
get_nodes_from_partition()die twee argumenten accepteert — een bipartiete graafGen eenpartitionvanG— en alleen de knooppunten uit diepartitionteruggeeft.- Itereer met een
for-lus over alle knooppunten vanG(zonder de metagegevens). - Benader het
'bipartite'-keyword van de metagegevensdictionary van het huidige knooppunt. Als het gelijk is aanpartition, voeg dan het huidige knooppunt toe aan de lijstnodes.
- Itereer met een
- Gebruik je
get_nodes_from_partition()-functie samen met delen()-functie om:- Het aantal knooppunten in de
'projects'-partitie vanGte printen. - Het aantal knooppunten in de
'users'-partitie vanGte printen.
- Het aantal knooppunten in de
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(____(____))