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
Instructions
- Définissez l’attribut
'weight'de l’arête entre les nœuds1et10deTà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 deT, en incluant lesmetadata. - Si
293figure dans la liste des nœuds[u, v]:- Définissez le poids de l’arête entre
uetvà1.1.
- Définissez le poids de l’arête entre
- À l’aide d’une boucle
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