我有一个动态生成的列表:
myList = [[node1, mask1],
[node2, mask1],
[node3, mask1],
[node4, mask2],
[node5, mask2],
[node6, mask3],
[node7, mask4],
]
注意:列表中的每个节点/掩码都是软件 GUI 中的实际节点,我稍后会尝试访问和操作。我认为现在将它们表示为字符串,可以很好地达到目的。
规则:
- 我必须在逻辑上将列表中的每个项目相互比较才能得到结果;
保留除仅与一种掩码有连接的节点外的所有节点,在此示例中,需要排除 node6 和 7,并得到以下结果:
newList = [[node1, node2, node3], [node4, node5]]
可选:我还想将每个节点的一些信息保留在已连接的掩码中,以便稍后使用 - 但我可以想到其他解决方案,因此它是可选的。
我尝试使用嵌套的 for 循环遍历每个元素,但这会遗漏某些情况。我也尝试过使用groupby()
,但我无法弄清楚,因为我的 Python 知识有限。