При их создании вы можете назначить множество атрибутов края или узла. Вам решать, какими будут их имена.
import networkx as nx
G=nx.Graph()
G.add_edge(1,2,weight=5) #G now has nodes 1 and 2 with an edge
G.edges()
#[(1, 2)]
G.get_edge_data(2,1) #note standard graphs don't care about order
#{'weight': 5}
G.get_edge_data(2,1)['weight']
#5
G.add_node('extranode',color='yellow', age = 17, qwerty='dvorak', asdfasdf='lkjhlkjh') #nodes are now 1, 2, and 'extranode'
G.node['extranode']
{'age': 17, 'color': 'yellow', 'qwerty': 'dvorak', 'asdfasdf': 'lkjhlkjh'}
G.node['extranode']['qwerty']
#'dvorak'
Или вы можете использовать Dict, чтобы определить некоторые атрибуты с nx.set_node_attributes
и создать Dict для всех узлов, для которых конкретный атрибут определяется с nx.get_node_attributes
tmpdict = {1:'green', 2:'blue'}
nx.set_node_attributes(G,'color', tmpdict)
colorDict = nx.get_node_attributes(G,'color')
colorDict
#{1: 'green', 2: 'blue', 'extranode': 'yellow'}
colorDict[2]
#'blue'
Точно так же есть nx.get_edge_attributes
и nx.set_edge_attributes
.
Дополнительная информация here в руководстве networkx. Примерно на половину этой страницы под заголовками «Атрибуты узла» и «Атрибуты грани». Конкретную документацию для set...attributes
и get...attributes
можно найти в разделе «Атрибуты» here.