Wie erhalte ich Knoten aus der spezifischen Flanke im NetworkX?
Frage
Ich möchte Knoten unterschiedlicher Kanten in dem Diagramm vergleichen. Wie kann ich die Knoten (n1 und n2) von der Kante (n1, n2) bekommen?
Lösung
Eine Kante in NetworkX wird durch seine Knoten definiert ist, so bin ich nicht wirklich sicher, was Sie fragen hier. Eine spezifische Kante in dem Graphen ist nur ein Tupel von Knoten, mit einer optionalen Gewichtungs.
import networkx as nx
g = nx.Graph()
g.add_edge(1,2)
g.add_edge(2,3)
g.edges()
gibt
[(1, 2), (2, 3)]
Wie Sie sehen können, ist die Liste der Kanten sieht ausdrücklich die Knoten jeder Kante.
Update: Ist das tun, was Sie wollen
#!/usr/bin/python
import networkx as nx
import random
g = nx.Graph()
g.add_edges_from([(1,2),(2,3),(1,4),(2,5)])
random_edge = random.choice(g.edges())
print 'Randomly selected edge is:', random_edge
print 'Nodes are', random_edge[0], 'and', random_edge[1]
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow