Действительно ли так, что первый способ доступа к ребру и его атрибутам ниже невозможен и необходим более неуклюжий второй?
import networkx as nx
G = nx.Graph()
G.add_edge('foo', 'bar', color='red')
e = ('foo', 'bar')
assert e in G.edges()
# (1)
assert G.edge[e]['color'] == 'red'
# (2)
assert G.edge[e[0]][e[1]]['color'] == 'red'
Это небольшая вариация предыдущего вопроса, в котором использовался итератор. Есть ли у API вариант data=True
для прямого доступа (без итератора)?
Различия между NetworkX 1.x и 2.x не имеют отношения к приведенному выше коду и к настоящему вопросу (за исключением того, что в 2.x можно написать assert e in G.edges
) - или, как я полагаю.