CommencezCommencez gratuitement

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

Voir le cours

Instructions de l’exercice

  • Écrivez une fonction appelée get_nodes_from_partition() qui accepte deux arguments — un graphe biparti G et une partition de G — et qui retourne uniquement les nœuds de cette partition.
    • Parcourez tous les nœuds de G (sans inclure les métadonnées) à l'aide d'une boucle for.
    • 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 liste nodes.
  • Utilisez votre fonction get_nodes_from_partition() avec la fonction len() pour :
    • Afficher le nombre de nœuds dans la partition 'projects' de G.
    • Afficher le nombre de nœuds dans la partition 'users' de G.

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(____(____))
Modifier et exécuter le code