我有一个类似于以下形式的节点列表: 节点列表= [[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)之间存在一条边。
我希望我的要求是有道理的,任何帮助将不胜感激。请让我知道是否需要澄清任何事情。
答案 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进行此操作。