У меня есть свои собственные объекты, скажем, пепперони. У меня есть список ребер от каждого pepperoni и список pepperonis. Затем я создаю граф, используя networkx. Я пытаюсь найти вес кратчайшего пути от одного пепперони к другому. Тем не менее, я получаю сообщение об ошибке следующим образом, который отслеживает внутренние вещи из NetworkX следующим образом:Использование networkx с моим собственным объектом
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "pizza.py", line 437, in shortestPath
cost = nx.shortest_path_length(a, spepp, tpepp, True)
File "/Library/Python/2.6/site-packages/networkx-1.3-py2.6.egg/networkx/algorithms/shortest_paths/generic.py", line 181, in shortest_path_length
paths=nx.dijkstra_path_length(G,source,target)
File "/Library/Python/2.6/site-packages/networkx-1.3-py2.6.egg/networkx/algorithms/shortest_paths/weighted.py", line 119, in dijkstra_path_length
(length,path)=single_source_dijkstra(G,source, weight = weight)
File "/Library/Python/2.6/site-packages/networkx-1.3-py2.6.egg/networkx/algorithms/shortest_paths/weighted.py", line 424, in single_source_dijkstra
edata=iter(G[v].items())
File "/Library/Python/2.6/site-packages/networkx-1.3-py2.6.egg/networkx/classes/graph.py", line 323, in __getitem__
return self.adj[n]
KeyError: <pizza.pepperoni object at 0x100ea2810>
Любая идея относительно того, что ошибка, или то, что я должен добавить к моему классу пиццы, чтобы не получить этот KeyError?
Редактировать: У меня есть правильные отрезки. Я не знаю, могут ли объекты обрабатываться как узлы.
Если честно, я не знаю, в чем была моя проблема, но я обманул объект, и я, наконец, получил его, чтобы он работал правильно. Спасибо за продуманный ответ. Это заставило меня думать :) – Trim