LoslegenKostenlos loslegen

Gewichte auf Kanten festlegen

Gewichte können Kanten in einem Graphen hinzugefügt werden und geben typischerweise die „Stärke“ einer Kante an. In NetworkX wird das Gewicht durch den Schlüssel 'weight' im Metadaten-Wörterbuch angegeben.

Bevor du die Übung angehst, nutze die IPython-Shell, um auf die Metadaten von T zuzugreifen und sie zu erkunden, zum Beispiel mit den Befehlen T.edges[1, 10] und anschließend T.edges[10, 1]. Beachte, dass es nur ein Feld gibt, und jetzt fügst du ein weiteres Feld namens 'weight' hinzu.

Diese Übung ist Teil des Kurses

Einstieg in die Netzwerkanalyse mit Python

Kurs anzeigen

Anleitung zur Übung

  • Setze das 'weight'-Attribut der Kante zwischen den Knoten 1 und 10 von T auf 2. Orientiere dich an der folgenden Vorlage, um ein Attribut einer Kante zu setzen: network_name.edges[node1, node2]['attribute'] = value. Hier ist das 'attribute' 'weight'.
  • Setze das Gewicht jeder Kante, an der der Knoten 293 beteiligt ist, auf 1.1. Gehe dazu so vor:
    • Iteriere mit einer for-Schleife über alle Kanten von T, inklusive der metadata.
    • Wenn 293 in der Liste der Knoten [u, v] vorkommt:
      • Setze das Gewicht der Kante zwischen u und v auf 1.1.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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 bearbeiten und ausführen