while i<size(Array):
for index, k in enumerate(Array1):
if (k==Array[i]):
print index
i=i+1
Если я правильно понимаю, вы думаете, что я не должен превышать размер массива, потому что у вас есть какое-то время i < size(Array)
Но условие while только контролирует, будет ли цикл повторяться, оно не гарантируетчто я останусь меньше, чем размер на протяжении всего цикла.
Вы, кажется, думаете, что это будет циклически проходить по массивам один раз, но поскольку один цикл находится внутри другого: сам цикл будет повторяться.
В этом случае i увеличивается внутривнутренний цикл по одному разу для каждого элемента в Array1, что приводит к тому, что он становится слишком высоким для индексации Array.
Я думаю, что вам нужно выполнить итерацию по обоим спискам одновременно.Не делайте этого, создавая два цикла, вам нужен только один цикл.
for index, k in enumerate(Array):
if k == Array1[index]:
print index
Лучший подход, но, возможно, более сложный для начинающего, это:
for index, (value1, value2) in enumerate(zip(Array, Array1)):
if value1 == value2:
print index
Zip"объединяет" два списка вместе, что делает очень простым итерацию по обоим параллельно.