2017-05-03 3 views
0

Mit der neuesten NetworkX (version 1.11 zum Zeitpunkt des Schreibens), was ist die effizienteste Möglichkeit zum Abrufen aller (rekursiven) Kindknoten für einen bestimmten Knoten?
Die successors() Funktion ruft die unmittelbaren Kinder ab und in früheren Versionen gab es dfs_preorder_nodes solution.NetworkX rekursive untergeordnete Knoten

+1

Was mit 'dfs_preorder_nodes' falsch? – Joel

+0

Ahh mein Schlechter! Ich konnte das nur für frühere Versionen finden, bis jetzt. Aus irgendeinem Grund dachte die neueste Version Klassen und Klassen-basierte Methoden. Prost! – dter

Antwort

0

dfs_preorder_nodes ist immer noch in der neuesten Version gültig, wie von Joel aufgezeigt. Die Dokumentation ist verfügbar here.

Nachfolgend erreicht die gewünschten, das heißt alle rekursiven Kinder für einen Knoten in der Nähe:

import networkx as nx 
children = [node for node in nx.dfs_preorder_nodes(network, queryID)]` 
+2

Sie könnten auch 'children = list (nx.dfs ...)' machen, um den Generator in eine Liste zu verwandeln. – Joel

Verwandte Themen