Вы можете написать свою собственную функцию для этой задачи. Если вы уверены, что DiGraph
- это дерево, вы можете заменить set()
на list
. Пожалуйста, также добавьте минимальный воспроизводимый пример с желаемым результатом в ваших следующих вопросах.
import networkx as nx
family_tree = nx.DiGraph()
family_tree.add_edges_from([("GP", "P1"), ("GP", "P2"), ("P1", "S1"), ("S1", "GS1"), ("P1", "S2")])
def successors_of_successors(graph, node):
results = set()
for successor in graph.successors(node):
results.update(graph.successors(successor))
return results
print(successors_of_successors(family_tree, "GP"))
# {'S2', 'S1'}
print(successors_of_successors(family_tree, "P1"))
# {'GS1'}