Elegant access to edge attributes in networkx
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
In NetworkX 2.4 you can also use graph.edges.data()
.
So in this case:
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():
print(data['weight'])
The output is
4.7
5.8