Copy list before iteration
It is better to copy the list using list slices before the iteration starts.
numbers = [1, 2, 3, 4]
for n in numbers[:]:
print(n)
if n == 2:
numbers.remove(2)
print(numbers)
1
2
3
4
[1, 3, 4]
Press ← or → to navigate between chapters
Press S or / to search in the book
Press ? to show this help
Press Esc to hide this help
It is better to copy the list using list slices before the iteration starts.
numbers = [1, 2, 3, 4]
for n in numbers[:]:
print(n)
if n == 2:
numbers.remove(2)
print(numbers)
1
2
3
4
[1, 3, 4]