Как я могу создать узел графа с дополнительными атрибутами, используя словарь - PullRequest
2 голосов
/ 07 января 2020

Попытка создания графика: 1009 * Есть идеи как это исправить ??

1 Ответ

0 голосов
/ 07 января 2020

Это можно сделать, добавив в словари атрибутов **. См. Документы здесь для получения более подробной информации.

import networkx as nx
from datetime import datetime

#create undirected graph g
g = nx.Graph()
#add nodes
g.add_node("John", **{"name":"John", "age":25})
g.add_node("Peter", **{'name': 'Peter', 'age':35})
g.add_node("Mary", **{'name': 'Mary', 'age':31})
g.add_node("Lucy", **{'name': 'Lucy', 'age':19})
#add edges
g.add_edge("John", "Mary", **{'Since': datetime.today()})
g.add_edge("John", "Peter", **{'Since': datetime(1990, 7, 30)})
g.add_edge("John", "Mary", **{'Since': datetime(2010,8, 10)})

print(g.nodes())
print(g.edges())
print(g.has_edge("Lucy", "Mary"))

Вывод:

['John', 'Peter', 'Mary', 'Lucy']
[('John', 'Mary'), ('John', 'Peter')]
False
>>> g.nodes['John']
{'name': 'John', 'age': 25}
...