CommencezCommencez gratuitement

Spécifier une pondération sur les arêtes

On peut ajouter des poids aux arêtes d'un graphe pour indiquer, en général, la « force » d'une arête. Dans NetworkX, le poids est indiqué par la clé 'weight' dans le dictionnaire de métadonnées.

Avant de commencer l'exercice, utilisez le shell IPython pour consulter le dictionnaire de métadonnées de T et l'explorer, par exemple en exécutant les commandes T.edges[1, 10] puis T.edges[10, 1]. Remarquez qu'il n'y a qu'un seul champ, et vous allez maintenant en ajouter un autre, appelé 'weight'.

Cette activité fait partie du cours

Introduction à l'analyse des réseaux en Python

Voir le cours

Instructions de l’exercice

  • Définissez l'attribut 'weight' de l'arête entre les nœuds 1 et 10 de T à 2. Référez-vous au modèle suivant pour définir un attribut d'une arête : network_name.edges[node1, node2]['attribute'] = value. Ici, l''attribute' est 'weight'.
  • Définissez le poids de chaque arête impliquant le nœud 293 à 1.1. Pour ce faire :
    • À l'aide d'une boucle for, itérez sur toutes les arêtes de T, en incluant les metadata.
    • Si 293 fait partie de la liste des nœuds [u, v] :
      • Définissez le poids de l'arête entre u et v à 1.1.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Set the weight of the edge
____ = 2

# Iterate over all the edges (with metadata)
for u, v, d in ____:

    # Check if node 293 is involved
    if 293 in ____:

        # Set the weight to 1.1
        ____ = 1.1
Modifier et exécuter le code