我使用文档中描述的in_edges方法来获取DiGraph中节点G[myIndex]的所有传入边,但是for u, v, data in G.in_edges(G[maxIndex], data=True):实际上给出了所有的out_edges。不是我想要的结果。
当我尝试G.out_edges时,它给了我来自所有out_edges的所有边(就像离期望的输出更远一步)。在将所需的节点传递给nbunch参数时,是否遗漏了什么?对我来说,这似乎是一个bug,但在这种情况下,搜索它很容易,所以我认为我错了。

在图像中,它可以看到在右边,in_edges的边缘0是给出的边缘,在左边看到.也可以看到,in_degree是3。
发布于 2016-05-14 20:12:20
我想你误解了G[maxIndex]的工作。它实际上会给出节点的外边,然后从这些节点中获取in边。
如果你只是想要一个给定节点的边缘,你可以做G.in_edges(maxIndex, data=True)。就像这样:
G = nx.DiGraph()
G.add_weighted_edges_from([(2, 1, 3.0), (3,1, 5.0), (4, 1, -1.0), (4, 2, 8.0)])
maxIndex = 1 # Here
for u, v, data in G.in_edges(maxIndex, data=True):
print(u,v,data)输出:
2 1 {'weight': 3.0}
3 1 {'weight': 5.0}
4 1 {'weight': -1.0}https://stackoverflow.com/questions/37230751
复制相似问题