在我的案例中,我有每个被称为'times'的属性列表的节点。 我制作了一个这样的简单模型,我得到了KeyError'时间'。我需要使用“时间”列表将每个节点保存为属性。我该如何解决?
import networkx as nx
G = nx.DiGraph()
for u in range(10):
for t in range(5):
if G.has_node(u):
G[u]['times'].append(t)
else:
G.add_node(u,times=[t])
print(G.nodes(data=True))
答案 0 :(得分:1)
你可以做到
G[u].setdefault('times', []).append(t)
而不是
G[u]['times'].append(t)
答案 1 :(得分:0)
试试这个
import networkx as nx
G = nx.DiGraph()
for u in range(10):
for t in range(5):
if G.has_node(u):
if not 'times' in G[u] # this
G[u]['times'] = [] # and this
G[u]['times'].append(t)
else:
G.add_node(u,times=[t])
print(G.nodes(data=True))
答案 2 :(得分:0)
这就是我想要的,相当容易!
import networkx as nx
G = nx.DiGraph()
for u in range(2):
for t in range(5):
if u in G:
G.node[u]['times'].append(t)
else:
G.add_node(u,times=[t])
print(G.nodes(data=True))