複数の特定場所からのminisum計算

場所を複数指定して、そこからの距離の合計(sumdist)を各ノードに対して行います。

graph_module_minisum1

今回は、ポイントを複数入力して各ポイントそれぞれ最寄のノードを距離計測の出発点にしています。計算が終わった後、結果をソートする場合、今回のケースではノードのリスト Graph.nodes コード中では g.nodes をソートすることにあります。つまりクラスのインスタンスのリストをソートすることになりますが、pythonではラムダ式ソートが可能ですので、非常に簡潔です。

minisumrank = sorted(g.nodes, key = lambda x: x.sumdist)

こうすると、g.nodes というノードのインスタンスの入ったリストを、Nodeクラスの sumdist というプロパティメンバーに対してソートが行われ、ソート済みのリストが minisumrank に返ってきます。

Comments are closed.