Obtenez tous les bords lié à un nœud donné dans un networkx graphique
Demandais si il y est commode networkx fonction qui retourne une liste d'arêtes connectées à un nœud donné (ou noeuds) (par exemple,my_node_name
) dans un graphique (p. ex. G
).
Je peux le faire de cette façon:
edlist=[]
for ed in G.edges():
if 'my_node_name' in ed:
edlist.append(ed)
mais attendez-vous qu'il pourrait y avoir une meilleure façon?
Vous devez vous connecter pour publier un commentaire.
Si le graphe est non orienté, vous pouvez utiliser
Dans networkx 2.x c'est un
EdgeDataView
objet. Dans networkx 1.x c'est une liste - si vous voulez un générateur de en 1.x plutôt que d'obtenir l'ensemble de la liste,G.edges_iter(node)
fonctionne (ce qui n'existe plus dans le 2.x).Si le graphique est réalisé à la commande ci-dessus ne donnera pas les bords. Utilisation
Ce sont des vues en 2.x. En 1.x ce sont des listes et il y a de générateur options:
G.in_edges_iter(node)
etG.out_edges_iter(node)
Vous pouvez utiliser la méthode
edges
ou la fonction
bords