Рассмотрим следующий интерактивный сеанс:
>>> import networkx as nx
>>> G = nx.random_geometric_graph(10, 0.5)
>>> with open("junk.txt", "wb") as f:
... nx.write_adjlist(G, f)
...
>>> G.nodes()
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> with open("junk.txt", "rb") as f:
... G2 = nx.read_adjlist(f)
...
>>> G2.nodes()
[u'1', u'0', u'3', u'2', u'5', u'4', u'7', u'6', u'9', u'8']
>>>
При чтении списка узлов из файла идентификаторы узлов обрабатываются как строки, а не числа.Таким образом, вы получаете сообщение об ошибке, потому что пытаетесь построить два несуществующих узла 1
и 2
.Измените их на строки ('1'
и '2'
), и все должно работать нормально.