while i<size(Array):
for index, k in enumerate(Array1):
if (k==Array[i]):
print index
i=i+1
If I understand correctly, you are thinking that i shouldn't go above the size of Array, because you have a while i < size(Array) But the while condition only controls whether the loop will repeat, it does not guarantee that i will remain less then size throughout the loop.
You seem to be thinking that this will loop over the arrays once, but because one loop is inside the other: the loop itself will be repeated.
In this case, i is incremented inside the inner loop once for every element in Array1, which causes it to become too high for indexing Array.
I think what you want is to iterate over both lists at the same time. Don't do this by creating two loops, you only want one loop.
for index, k in enumerate(Array):
if k == Array1[index]:
print index
A better approach, but perhaps harder to understand for a beginner is this:
for index, (value1, value2) in enumerate(zip(Array, Array1)):
if value1 == value2:
print index
Zip "zips" the two lists together which makes it really easy to iterate over both in parallel.