добавить кивки и список атрибутов и KeyError! - PullRequest
1 голос
/ 23 августа 2010

У меня есть узлы со списком атрибутов для каждого из них, называемых «времена» в моем случае.Я сделал простую модель, как это, и я получаю 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))

Ответы [ 3 ]

1 голос
/ 23 августа 2010

Вы можете сделать

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

вместо

G[u]['times'].append(t)
0 голосов
/ 24 августа 2010

Это то, что я искал, довольно просто!

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)) 
0 голосов
/ 23 августа 2010

Попробуйте это

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))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...