Python:循环寻找每个node_id的邻居

Python: Loop to find the neighbours of each node_id

我有一个看起来像这样的循环:

i = 0
while i < len(node_id):
    for arc in self._adjacency_lists[i]:
        neighbours.append(arc.head_node_id)
        i += 1

这给了我输出:

[1, 2, 2, 3, 1, 3]

其中第0个和第1个元素是node_id的邻居=0,2node_id的邻居=1,node_id的3=1,[=21的1 =] = 3,node_id 中的 2 个 = 4。如何将这些邻居附加到新列表,以便我的输出如下所示:

new_list = [[1,2], [2], [3], [1], [3]]

您应该首先为每个节点附加一个空列表,然后将邻居添加到该列表。

i = 0
while i < len(node_id):
    neighbours.append([])
    for arc in self._adjacency_lists[i]:
        neighbours[-1].append(arc.head_node_id)
        i += 1