Если вы хотите отфильтровать отдельные узлы, вы можете выполнять итерации по узлам графа и сохранять только узлы, у которых есть соседи.
С генератором:
import networkx as nx
G = nx.Graph()
G = nx.fast_gnp_random_graph(40, 0.05, directed=False, seed=1)
print([n for n in G.nodes if len(list(G.neighbors(n))) > 0])
или filter
функция:
print(list(filter(lambda n: len(list(G.neighbors(n))) > 0, G.nodes)))
Оба будут печатать одинаково:
[0, 1, 2, 3, 4, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 38, 39]
Если я понимаю второеправильно, networkx возвращает количество всех узлов в графе, не только тех, которые имеют ребра.