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é autant lors de l'ajout d'un nœud qu'après son ajout. Rappelez-vous toutefois que, par définition, dans un graphe biparti, un nœud ne peut pas être relié à un autre nœud de la même partition.
Vous allez ici écrire une fonction qui retourne les nœuds d'une partition donnée dans un graphe biparti. Dans ce cas-ci, les partitions pertinentes du graphe biparti de Github avec lequel vous travaillerez sont 'projects' et 'users'.
Cette activité fait partie du cours
Analyse de réseaux intermédiaire en Python
Instructions de l’exercice
- Écrivez une fonction appelée
get_nodes_from_partition()qui accepte deux arguments — un graphe bipartiGet unepartitiondeG— et qui retourne uniquement les nœuds de cettepartition.- Parcourez tous les nœuds de
G(sans inclure les métadonnées) à l'aide d'une bouclefor. - Accédez au mot-clé
'bipartite'du dictionnaire de métadonnées du nœud courant. S'il est égal àpartition, ajoutez le nœud courant à la listenodes.
- Parcourez 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 ce code d’exemple.
# 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(____(____))