我有一个类似于以下形式的节点列表:Nodelist = [[1,2,3],[4,7,6],[7,2,9]]这样就存在一条连接它们的边,例如1连接到2,2连接到3。这些不是我图中的完整节点集。
我想做的是,如果Nodelist中的两个节点之间存在连接,则返回边列表。即输出= [(1,2 ,,(2,3),(3,1),...]
我已经知道,Nodelist子列表中的每个节点都已连接,即在(1,2),(2,3),(3,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做到这一点。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句