У меня есть следующий код, чтобы аннотировать график с использованием карт свойств:граф-инструмент - AttributeError: объект «PropertyDict» имеет атрибута «вида»
from graph_tool.all import *
# define graph
g = Graph()
g.set_directed(True)
species = g.new_vertex_property("string")
species_dict = {}
reaction_dict = {}
#add species and reactions
s1 = g.add_vertex()
species[s1] = 'limonene'
species_dict[g.vertex_index[s1]] = 'limonene'
g.vertex_properties["species"] = species
g.vp.species[s1]
Когда я запускаю это я получаю следующее сообщение об ошибке:
File "/home/pmj27/projects/NOC/exergy/make_graph.py", line 45, in <module>
g.vp.species[s1]
AttributeError: 'PropertyDict' object has no attribute 'species'
Почему это? Если я нахожу g.vp
в свою консоль IPython, я получаю {'species': <PropertyMap object with key type 'Vertex' and value type 'string', for Graph 0x7f285d90ea10, at 0x7f285d90ef90>}
как ответ, так что, очевидно, есть карта свойств.
Вы имели в виду 'g.vp ['species'] [s1]'? – jonrsharpe
Нет, это возвращает 'SyntaxError: недопустимый синтаксис' –
Действительно ?! Это, безусловно, синтаксически действительный Python. – jonrsharpe