У нас есть 2 одномерный список (в данном примере мы его заполненным уникальный 6 узлов и 3 маски)Как проверить элементы друг с другом в 2-мерном списке?
myList = [[node1, mask1],
[node2, mask1],
[node3, mask1],
[node4, mask2],
[node5, mask2],
[node6, mask3]]
Теперь мне нужно, чтобы проверить друг друга каким-то образом и создать новый список, чтобы поместить каждый узел, который подключен к маске в отдельном [], поэтому я могу легко получить к нему доступ позже, но также мне нужно отфильтровать узлы, такие как «node6», потому что «node6» подключен только к одной маске (в нашем случае только с «mask3»)
в основном я хочу, чтобы мой новый список, чтобы выглядеть следующим образом:
newList = [[node1, node2, node3], [node3, node4]]
Это дало мне головную боль в течение нескольких часов .. СПАСИБО ВАС В РАМКАХ!
примечание: это было бы приятно видеть также, что является наиболее эффективным способом сделать это
edit1: что я пробовал:
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
Я знаю, что эта доза не имеет особого смысла для чего я спросил .. мои предыдущие попытки не сохранены - в этом примере я попытался заполнить каждый узел в новом списке, который подключен к той же маске два или более раза .. но это не работает должным образом.
Вы не показать, что вы пробовали. –
@StephenRauch я отредактировал мое сообщение сейчас – masky007