Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Stel het 'weight'-attribuut van de edge tussen knooppunt 1 en 10 van T in op 2. 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 293 betrokken is in op 1.1. Doe dit als volgt:
    • Gebruik een for-lus om over alle edges van T te itereren, inclusief de metadata.
    • Als 293 voorkomt in de lijst met knooppunten [u, v]:
      • Stel het gewicht van de edge tussen u en v in op 1.1.

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
Code bewerken en uitvoeren