Een gewicht op edges specificeren
Gewichten kunnen aan edges in een graaf worden toegevoegd en geven doorgaans de "sterkte" van een edge aan. In NetworkX wordt het gewicht aangegeven met de sleutel 'weight' in de metagegevens-dictionary.
Voordat je aan de oefening begint, gebruik je de IPython Shell om de dictionary-metagegevens van T te bekijken, bijvoorbeeld door de commando's T.edges[1, 10] en daarna T.edges[10, 1] uit te voeren. Merk op dat er maar één veld is; nu ga je een extra veld toevoegen, genaamd 'weight'.
Deze oefening maakt deel uit van de cursus
Introductie tot netwerkanalyse in Python
Oefeninstructies
- Stel het
'weight'-attribuut van de edge tussen knooppunt1en10vanTin op2. Gebruik hiervoor de volgende template om een attribuut van een edge in te stellen:network_name.edges[node1, node2]['attribute'] = value. Hier is het'attribute''weight'. - Stel het gewicht van elke edge waarbij knooppunt
293betrokken is in op1.1. Doe dit als volgt:- Gebruik een
for-lus om over alle edges vanTte itereren, inclusief demetadata. - Als
293voorkomt in de lijst met knooppunten[u, v]:- Stel het gewicht van de edge tussen
uenvin op1.1.
- Stel het gewicht van de edge tussen
- Gebruik een
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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