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

How to get the corresponding edges from a list of nodes

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

我想做的是return如果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_lists.

执行此操作