Lets take a list,
nums = [-2,1,-3,4,-1,2,1,-5,4]
Now when you run: for e in nums: print(e)
you get all the elements printed in order:
-2
1
-3
4
-1
2
1
-5
4
Now the weird part is when I try to remove these elements in order:
for e in nums:
print(f"before: {nums}, next {e} will be removed..")
nums.remove(e)
print(f"after: {nums}")
The result:
before: [-2, 1, -3, 4, -1, 2, 1, -5, 4], next -2 will be removed..
after: [1, -3, 4, -1, 2, 1, -5, 4]
before: [1, -3, 4, -1, 2, 1, -5, 4], next -3 will be removed..
after: [1, 4, -1, 2, 1, -5, 4]
before: [1, 4, -1, 2, 1, -5, 4], next -1 will be removed..
after: [1, 4, 2, 1, -5, 4]
before: [1, 4, 2, 1, -5, 4], next 1 will be removed..
after: [4, 2, 1, -5, 4]
before: [4, 2, 1, -5, 4], next 4 will be removed..
after: [2, 1, -5, 4]
Now what just happened?