ノードには属性があります。グラフAの各ノードで、グラフBの対応するノードを保持する属性を作成できます。
グラフAは3つのノード1,2,3を持っています。グラフBはノード1 、4、および9(Aのノードの値の2乗)である。 B内の各ノードが作成されると、その値は、そのノードを生成したAノードのb_node属性に格納されます。
import networkx as nx
def main():
# Create graph A
a = nx.Graph()
a.add_node(1)
a.add_node(2)
a.add_node(3)
# Create graph B with nodes that are squares of the nodes in A
# Add to each node in A an attribute (b_node)
# to hold the corresponding node in B
b = nx.Graph()
for node in a:
a.add_node(node, b_node=node * node)
b.add_node(node * node)
print("A:")
print(a.nodes.data())
print("\nB:")
print(b.nodes.data())
if __name__ == '__main__':
main()
出力:
A:
[(1, {'b_node': 1}), (2, {'b_node': 4}), (3, {'b_node': 9})]
B:
[(1, {}), (4, {}), (9, {})]
あなたはより多くのあなたが、「リンクのいくつかの並べ替え」によって何を意味するかを指定する必要があります。 – Paul
@Paul私は、Aのノードに行くことができるはずの線に沿って考えていました。そして、私は他のグラフBの関連するノードを手に入れてください。 – Lonewolf