Python 用の NetworkX グラフ ライブラリを使用しています。プログラムのある時点で、nodeID を一連の数字に「統合」したいと考えています。これが私の素朴なアプローチです:
start = 1 # could be anything
for i, n in enumerate(g.nodes()):
if i+start == n:
continue
g.add_node(i+start, attr_dict=g.node[n])
g.add_edges_from([(i+start, v, g[n][v]) for v in g.neighbors(n)])
g.remove_node(n)
このすべての近隣の徹底的なコピーよりも高速な方法はありますか? たとえば、 を試してみg[i+start] = g[n]
ましたが、それは禁止されています。
ありがとう!