CommencerCommencer gratuitement

Spécifier un poids sur les arêtes

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

Avant de commencer l’exercice, utilisez l’IPython Shell pour consulter les métadonnées de T et les 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 ; vous allez maintenant en ajouter un autre, appelé 'weight'.

Cet exercice fait partie du cours

Introduction à l’analyse de réseaux en Python

Afficher le cours

Instructions

  • Définissez l’attribut 'weight' de l’arête entre les nœuds 1 et 10 de T à 2. Reportez-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 figure dans 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 cet exemple de code.

# 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