bisect を使用したいと思います (ここに示されているように、2 番目の回答: Does python has a sorted list? ) が、数値のリストを使用する代わりに、オブジェクトのリストがあります。具体的には、このクラスのオブジェクト: https://networkx.github.io/documentation/latest/_modules/networkx/classes/graph.html
ノード数でソートされたグラフをリストに保持したいと思います。これらのグラフをリストにプッシュすると、任意の方法で挿入されているように見えます (何度も実行すると、実行ごとに変化します)。
各クラスが定義できる「ソート」関数はありますか?ソートを適用するときに使用されます(他の言語での演算子のオーバーライドのように)?
import bisect
import networkx as nx
L=[]
G1 = nx.Graph()
G2 = nx.Graph()
G1.add_edges_from([(1,2),(1,3),(2,3),(3,4),(4,5),(4,6),(5,6),(4,7),(7,8),(7,9),(8,9)])
print 'G1', G1.number_of_nodes()
G2.add_edges_from([(1,2),(1,3)])
print 'G2', G2.number_of_nodes()
bisect.insort(L,G1)
bisect.insort(L,G2)
print 'L0 ', L[0].number_of_nodes()
print 'L1' ,L[1].number_of_nodes()
それを行う別の方法があれば、それは素晴らしいことです。
ありがとう