1

在我的情况下,我有一个节点,每个节点都有一个属性列表,称为“时间”。我做了一个这样的简单模型,我得到了 KeyError'times'。我需要我的图表将每个节点都保存为“时间”列表作为属性。我该如何解决?

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))
4

3 回答 3

1

你可以做

G[u].setdefault('times', []).append(t)

代替

G[u]['times'].append(t)
于 2010-08-23T16:01:13.120 回答
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)) 
于 2010-08-24T14:24:01.567 回答
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))
于 2010-08-23T14:32:52.060 回答