Le mot-clé bipartite
Dans la vidéo, Eric vous a présenté le mot-clé 'bipartite'. Ce mot-clé fait partie du dictionnaire de métadonnées d’un nœud et peut être attribué à l’ajout d’un nœud comme après coup. Rappelez-vous toutefois que, par définition, dans un graphe biparti, un nœud ne peut pas être connecté à un autre nœud de la même partition.
Ici, vous allez écrire une fonction qui renvoie les nœuds d’une partition donnée dans un graphe biparti. Dans ce cas, les partitions pertinentes du graphe biparti Github avec lequel vous allez travailler sont 'projects' et 'users'.
Cet exercice fait partie du cours
Analyse de réseaux intermédiaire en Python
Instructions
- Écrivez une fonction appelée
get_nodes_from_partition()qui accepte deux arguments : un graphe bipartiGet unepartitiondeG, et qui renvoie uniquement les nœuds de cettepartition.- Itérez sur tous les nœuds de
G(sans inclure les métadonnées) à l’aide d’une bouclefor. - Accédez au mot-clé
'bipartite'dans le dictionnaire de métadonnées du nœud courant. S’il est égal àpartition, ajoutez le nœud courant à la listenodes.
- Itérez sur tous les nœuds de
- Utilisez votre fonction
get_nodes_from_partition()avec la fonctionlen()pour :- Afficher le nombre de nœuds dans la partition
'projects'deG. - Afficher le nombre de nœuds dans la partition
'users'deG.
- Afficher le nombre de nœuds dans la partition
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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(____(____))