我们有一个二维列表(对于这个例子,我们用唯一的 6 个节点和 3 个掩码填充它)
myList = [[node1, mask1],
[node2, mask1],
[node3, mask1],
[node4, mask2],
[node5, mask2],
[node6, mask3]]
现在我需要以某种方式相互测试并生成一个新列表,将每个连接到掩码的节点放在单独的 [] 中,这样我以后可以轻松访问它,但我还需要过滤像“node6”这样的节点,因为“ node6" 只连接到一个掩码(在我们的例子中只连接到 "mask3")
基本上我希望我的新列表看起来像这样:
newList = [[node1, node2, node3], [node3, node4]]
这已经让我头疼了几个小时了.. 提前谢谢你!
注意:很高兴看到最有效的方法是什么
编辑1:我尝试了什么:
myList =[[node1, masks1][node2, mask1] etc..] #this is earlier dynamically populated with nodes/masks
newList= []
for i in range(len(myList)):
for j in range(len(myList[i])):
try:
if myList[i][0] in newList:
pass
elif myList[i][1] == myList[j][1] and len(myList) > 1:
newList.append([db[i][0]])
break
except IndexError:
#print 'passed error'
pass
我知道这对我的要求没有多大意义..我以前的尝试没有保存-在这个例子中,我尝试将每个节点填充到连接到同一掩码两次或更长时间的新列表中..但这不是按预期工作。