Is it indeed the case that to access edge attributes in networkx the awkward third form below is necessary and no variation of the more svelte first two forms will do?
import networkx as nx
G = nx.Graph()
G.add_edge(1, 2, weight=4.7 )
G.add_edge(3, 4, weight=5.8 )
# for edge in G.edges():
# print edge['weight']
#
# for edge in G.edges():
# print G[edge]['weight']
for edge in G.edges():
print G.edge[edge[0]][edge[1]]['weight']
Use data=True
:
import networkx as nx
G = nx.Graph()
G.add_edge(1, 2, weight=4.7)
G.add_edge(3, 4, weight=5.8)
for node1, node2, data in G.edges(data=True):
print(data['weight'])
prints
4.7
5.8
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With