networkx.MultiDiGraph.edges方法是否保留顺序?


问题内容

MyNetwork是networkx.MultiDiGraph的一个实例。我想知道是否可以确保多次运行以下代码才能在MyNetwork中得到完全相同的列表,其中包含所有边缘(以及边缘属性):

AllEdges = [(from_node,to_node,edge_key,edge_attributes) for (from_node,to_node,edge_key,edge_attributes) in MyNetwork.edges(keys=True,data=True)]

谢谢您的好回答。


问题答案:

从MultiDiGraph.edges()方法返回的边列表在重复调用时不能保证是任意顺序或相同的。如果需要特定的排序,则必须进行更多处理(例如排序)或维护单独的边列表或符号表。