Nyckelordet bipartite
I videon introducerade Eric nyckelordet 'bipartite'. Det här nyckelordet är en del av en nods metadataordbok och kan tilldelas både när du lägger till en nod och efter att noden lagts till. Kom ihåg att en nod per definition inte kan vara kopplad till en annan nod inom samma partition i en bipartit graf.
Här ska du skriva en funktion som returnerar noderna från en given partition i en bipartit graf. De relevanta partitionerna i den bipartita GitHub-graf du kommer att arbeta med är 'projects' och 'users'.
Den här övningen är en del av kursen
Nätverksanalys i Python – fortsättningskurs
Övningsinstruktioner
- Skriv en funktion som heter
get_nodes_from_partition()och som tar emot två argument – en bipartit grafGoch enpartitioniG– och returnerar enbart noderna från den partitionen.- Iterera över alla noder i
G(utan att inkludera metadata) med enfor-slinga. - Hämta nyckelordet
'bipartite'ur den aktuella nodens metadataordbok. Om det är lika medpartition, lägg till den aktuella noden i listannodes.
- Iterera över alla noder i
- Använd din funktion
get_nodes_from_partition()tillsammans med funktionenlen()för att:- Skriva ut antalet noder i partitionen
'projects'iG. - Skriva ut antalet noder i partitionen
'users'iG.
- Skriva ut antalet noder i partitionen
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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(____(____))