Не могу получить широту узла networkx

У меня есть график networkx, который был импортирован из OpenStreetMap. Узлы имеют идентификатор узла, широту и долготу. Я пытаюсь получить доступ к последним двум, но пока безуспешно. Моя лучшая попытка выглядит так:

node.names = graph.nodes()  # get the node IDs
latitudes = nx.get_node_attributes(graph, 'lat')
first_node = node_names[0]
latitude latitudes[first_node]['lat']

Nx.get_node_attributes (graph, 'lat') действительно возвращает словарь, состоящий из идентификаторов узлов и широты, но при попытке получить доступ к широте я получаю объект "TypeError: 'float' не подлежит подписке". Кто-нибудь знает, как я могу получить к нему доступ?

1 ответ

Я думаю, что код, который вы представляете, не является тем, что фактически выдает ошибку, потому что в последней строке есть синтаксическая ошибка (я думаю, что отсутствует = знак).

"TypeError: 'float' object is not subscriptable" означает, что вы делаете a[x] потому что ты думаешь a это список или кортеж или диктат, но на самом деле a это поплавок, который не может быть подписан с x,

В предположении (я должен догадаться, так как вы не дали нам сообщение об ошибке), если строка, сообщающая вам проблему, является следующей:

latitudes[first_node]['lat']

затем latitudes[first_node'] это, скорее всего, широта, которую вы ищете.

Другие вопросы по тегам