Вы можете использовать функцию subgraph
для извлечения подграфа с заданными узлами из исходного графа.Вы отправляете коллекцию узлов как атрибут, и она возвращает вам подграф исходного графа с этими узлами и ребрами между ними:
G = nx.fast_gnp_random_graph(30, 0.04, directed=True, seed=1)
nx.draw(G)
C = max(nx.strongly_connected_components(G), key=len)
print(C)
{0, 3, 4, 6, 8, 10, 11, 15, 21, 22, 24, 25}
S = G.subgraph(C)
nx.draw(S)
print(list(nx.edges(S)))
[(0, 3), (3, 4), (3, 21), (4, 6), (6, 11), (6, 15), (8, 0), (10, 6), (11, 8), (11, 15), (15, 24), (15, 25), (21, 8), (21, 22), (21, 15), (22, 24), (22, 25), (22, 15), (24, 10), (25, 0)]