如何从节点列表中获取相应的边

时间:2019-04-07 17:22:52

标签: python nodes networkx graph-theory edges

我有一个类似于以下形式的节点列表: 节点列表= [[1,2,3],[4,7,6],[7,2,9]] 这样就存在一条连接它们的边,例如1连接到2以及2连接到3。这些不是我图中的完整节点集。

如果节点列表中的两个节点之间存在连接,我想做的是返回边列表。 即output = [((1,2),(2,3),(3,1),...]

我已经知道,Nodelist子列表中的每个节点都已连接,即在(1,2),(2,3),(3,1)之间存在一条边。

我希望我的要求是有道理的,任何帮助将不胜感激。请让我知道是否需要澄清任何事情。

1 个答案:

答案 0 :(得分:1)

尝试一下:

from itertools import combinations

[list(combinations(x, 2)) for x in node_list] 

combinations给出给定大小的列表的所有组合。 因此combinations([1,2,3], 2)会给您[(1,2), (2,3), (3,1)] 只需对每个node_list进行此操作。