Ví dụ thế này cho bạn dễ hiểu:
lst=[2,1,4,7,9,13,15,25,15,13,2,4,0,12,6,8,12,14]
for i in lst:
print('Số {} có index là {}'.format(str(i), lst.index(i)))
if i % 2 == 0:
lst.remove(i)
print(lst)
sẽ ra output là
Số 2 có index là 0
Số 4 có index là 1
Số 9 có index là 2
Số 13 có index là 3
Số 15 có index là 4
Số 25 có index là 5
Số 15 có index là 4
Số 13 có index là 3
Số 2 có index là 8
Số 0 có index là 9
Số 6 có index là 10
Số 12 có index là 9
[1, 7, 9, 13, 15, 25, 15, 13, 4, 8, 12, 14]
[Finished in 0.1s]
Items được in ra không đủ, và index thì rất lộn xộn, đó là do số lượng và thứ tự của item trong list bị thay đổi khi đang loop. Bạn không hiểu là vì cái chỗ đây
(Do list có item bị duplicate, nên cái index in ra không đúng, nhưng ví dụ vẫn đủ để thể hiện cái sự lộn xộn khi bị thêm bớt item nên mình không sử lại. Sorry)