相互排他的なエッジを持つグラフから別のグラフを作成しようとしています。リスト内の検索用ではないPythonが機能していない
元のグラフからノードをランダムに描画し、元のグラフに既に存在するかどうかを確認しています。 not in
コマンドが正常に動作しません。
私のコードは以下の通りです。
import networkx as nx
import numpy as np
import random
G=nx.karate_club_graph()
K=nx.Graph()
sample_len=len(G.edges())
while(len(K.edges())<sample_len):
n1=random.choice(G.nodes())
n2=random.choice(G.nodes())
e=(n1,n2)
if(e not in G.edges()):
K.add_edge(*e)
i=0
for x in G.edges():
if(x in K.edges()):
i+=1
print i
このコードを実行するたびに、i
の値は5〜10の間にあります。
結果として期待しているものはありますか? –
私は2つのグラフ間の共通のエッジをチェックしています。答えはゼロでなければなりません。 –
もしあなたがG = nx.karate_club_graph()の例を私に送ったら K = nx.Graph()私はあなたのためにそれを得ようとしますが、それは難しいとは思わないが、 numpyライブラリを使用して、ちょうど私が申し訳ありませんができないコードを読んで! –