Я пытаюсь сравнить два значения узла с оператором if в NetworkX. Для этого моя структура графа Graph (G) и Graph (G1) выглядит следующим образом:
import networkx as nx
#Define Graph G
G = nx.DiGraph()
G.add_edge('x','a', dependency=0.4)
G.add_edge('x','b', dependency=0.7)
G.add_edge('b','a', dependency=0.3)
G.add_node('x', value=10)
G.add_node('a', value=15)
G.add_node('b', value=20)
#Define Graph G1
G1 = nx.DiGraph()
G1.add_edge('x','a', dependency=0.4)
G1.add_edge('x','b', dependency=0.7)
G1.add_edge('b','a', dependency=0.3)
G1.add_node('x1', value=10)
G1.add_node('a1', value=15)
G1.add_node('b1', value=20)
Теперь я просто хочу сравнить два атрибута узла G.node (x) и G1. узел (x1) и сделайте что-нибудь, если они одинаковые:
if G.nodes(['x']['value']) == G1.nodes['x1']['value']:
print("Both values are the same!")
Но я продолжаю получать следующее сообщение об ошибке:
TypeError: list indices must be integers or slices, not str
Может ли кто-нибудь помочь мне с этим?