У меня есть два вложенных массива , которые могут выглядеть следующим образом:
firstArray=[[1,10],[11,31],[32,40],[41,61],[62,78]]
secondArray=[[1,10],[12,32],[33,39],[41,78]]
Теперь я хочу выполнить поиск элементов secondArray в firstArray.Я хочу, чтобы два события были различены:
1: , если элемент найден напрямую, я хочу напечатать его.
2: Если это не найдено, я хочу напечатать предыдущий и следующий элемент, или элементы, которые он охватывает, / элементы, которые его содержат.
Например, , для второго массива [1,10] я хочу напечатать firstArray [1,10], но для secondArray [12,32] я хочу напечатать firstArrays [11,31] и [32,40].Для secondArray [33,39] я хочу напечатать firstArray [32,40] и т. Д.
Я знаю, что могу получить доступ к двум массивам с помощью вложенного цикла for и что я могу получить доступ к элементам черезиндексации.У меня проблемы с выполнением роли, если нет прямых попаданий.
для прямых попаданий , я делаю следующее:
foundYou=[]
for entry in firstArray:
for element in secondArray:
if(entry[0] == element[0]) and (entry[1] == element[1]):
foundYou.append(element)
Я такжепровел какое-то исследование об индексации, но не смог понять, как это решить.Я также подумал об использовании <=,> =, <и>, но тогда он напечатал бы все элементы с меньшим номером, чем поиск в первой позиции, но он напечатал бы намного больше, чем я хочу.
Я мог бы "проиндексировать", используя карту и другой массив со значениями от 1 ... длины массива, но это, кажется, довольно сложный способ достижения того, что я хочу.
Заранее спасибо:)